From Fedora Project Wiki
This page is a draft only
It is still under construction and content may change. Do not rely on the information on this page.


Начиная с версии Publican 2.0, возможна автоматизированная публикация документов на сайте Fedora.

Требования

Чтобы получить доступ к функциям публикации документов, необходимо:

  • вступить в группу docs-publishers;
  • создать локальную копию книги, загрузив ее из GIT или SVN.

Подготовка

На сегодняшний день (июль 2010г.) известно о проблеме Publican, не позволяющей публиковать документы, если язык системы отличается от en-US. Если используется другой язык, перезапустите сеанс, выбрав en-US в качестве языка интерфейса.


  1. Создайте локальную копию репозитория git сайта docs.fedoraproject.org:
    git clone ssh://USERNAME@git.fedorahosted.org/git/docs/web.git

    где USERNAME -- имя пользователя FAS.

    Большой объем загрузки
    Загрузка всех файлов может занять некоторое время даже при наличии быстрого соединения.
  2. Перейдите в каталог с загруженным web.git и создайте копию файла homepage.tmp с именем homepage.cfg:
    cp homepage.tmp homepage.cfg
  3. Отредактируйте файл homepage.cfg, добавив абсолютные пути к fedoradocs.db и каталогу public_html. Так, например, если вы загрузили web.git в каталог fedoradocs, файл homepage.cfg будет выглядеть примерно так:
    # Config::Simple 4.59
    # Tue May 11 13:53:03 2010
    
    db_file: /home/jsmith/fedoradocs/web/fedoradocs.db
    toc_path: /home/jsmith/fedoradocs/web/public_html
  4. Убедитесь, что вы используете последнюю версию Publican. Для этого в режиме root выполните:
    yum update publican publican-fedora

Публикация документа

Publican now controls the directory structure and the SQLite database that manages the site and its tables of contents. Do not add or remove directories from the directory tree manually as we did in the past.
Если вы хотите опубликовать черновик документа, следуйте инструкциям на странице подготовки черновой документации.
  1. Обновите локальную копию docs.fedoraproject.org:
    git pull
  2. Перейдите в каталог с локальной версией документа, который надо опубликовать, и выполните:
    publican build --embedtoc --publish --formats epub,html,html-single,pdf --langs LANGUAGE_CODES
    где LANGUAGE_CODES — список кодов языков, разделенных запятыми. Для публикации документа на русском языке укажите ru-RU.
  3. Перейдите в каталог publish и проверьте подкаталоги документов. В частности, убедитесь, что:
    • в качестве продукта указана Fedora (обратите внимание на заглавную букву);
    • версия верна;
    • название документа верно. Обратите внимание на заглавные буквы и пробелы. Так, например, Foo Guide не эквивалентно foo-guide
  4. Установите документ на сайте Fedora:
    publican install_book --site_config PATH --lang LANGUAGE_CODE
    где PATH — путь к файлу конфигурации homepage.cfg в локальном каталоге сайта docs.fedoraproject.org на диске, а LANGUAGE_CODE — код языка. Для публикации документа на русском языке укажите ru-RU. Стоит отметить, что команду publican install_book можно выполнять только для одного языка.
  5. Перейдите в каталог с локальной версией сайта и выполните следующее:
    git add .
    git commit -m "DESCRIPTION_OF_YOUR_CHANGES"
    git push

Удаление документа

Для удаления документа из списка опубликованных для русского языка выполните следующее:

  1. Update your copy of the docs.fedoraproject.org website. In the directory where you keep your local copy of the site, run:
    git pull
  2. Change to the directory where you keep a checked-out copy of the document that you want to remove, then run:
    publican remove_book --site_config PATH_TO_SITE_CONFIG_FILE --lang LANGUAGE_CODE
    where PATH_TO_SITE_CONFIG_FILE is the path to the homepage.cfg file in your local copy of the docs.fedoraproject.org website, and LANGUAGE_CODE is the language in which you are removing the document. Note that you can only run publican remove_book for one language at a time.
  3. Перейдите в локальный каталог документа и выполните:
    git add .
    git commit -m "DESCRIPTION_OF_YOUR_CHANGES"
    git push
  4. Publican can only remove the local files and directories on your system, not their record in Git. To remove the deleted files from your local Git repo, run:
    for f in $(git ls-files --deleted); do git rm $f; done 

    Then push these changes to the remote repo:

    git commit -m"rm unused files"
    git push
    A "git rm" command gone wrong can cause widespread damage to the documentation site. If you are not absolutely sure of what you are doing, ask for help.

Обновление документа

To update a document previously published in a particular language for a particular version of Fedora, change into the directory in which you keep a checked-out copy of the document, then run publican install_book, as if you were installing it for the first time. Publican automatically replaces the old version with the new one.