The term guide here refers to any piece of formal Fedora documentation maintained by the Fedora Documentation Project and published on http://docs.fedoraproject.org. Guides range from detailed manuals hundreds of pages long to short articles that describe specific tasks such as how to burn a DVD from an ISO file.
Your guide might be an entirely new piece of writing or a project that you are migrating to Fedora from elsewhere, for example, a Red Hat Enterprise Linux document that you are bringing upstream into Fedora. These instructions apply in either case.
Prerequisites
Before you follow this procedure, you must
- be a member of the Fedora Project (and therefore have an identity in the Fedora Account System (FAS)) — join the Fedora Project
- be a member of the docs-writers group
Apply to have your document hosted on fedorahosted.org
- Visit the Fedora Infrastructure Trac at https://fedorahosted.org/fedora-infrastructure/
- Click the Login link near the top right of the screen and supply your FAS username and password when prompted.
- Click the New Ticket link near the top right of the screen.
- Fill in the Short Summary field with:
Hosting request for NAME_OF_YOUR_GUIDE
- Select Hosting Request in the Type drop-down menu.
- A dialog box opens and asks you whether to Apply template by ticket type?. Click No.
- Copy and paste the following information into the main text box, replacing any content already there:
Project name: docs/name-of-your-guide Project short summary: SUMMARY_OF_YOUR_GUIDE SCM choice (git/bzr/hg/svn): git Project admin Fedora Account System account name: YOUR_FAS_USERNAME Yes/No, would you like a Trac instance for your project?: Yes Do you need a mailing list? No Send commits to the following list (leave empty if none needed): docs-commits@lists.fedorahosted.org NOTE: No separate commit group needed. Please give commit access to the docs-writers group.
- Select Minor in the Priority drop-down menu.
- Select Hosted Projects in the Component drop-down menu.
- Click the Submit ticket button.
You will receive a notification by email when the Fedora Infrastructure Team has created space for your project.
Create local and remote repositories for your guide
When the Fedora Infrastructure Team notifies you that your hosting space is ready, create the local and remote git repositories for your guide.
- Open a virtual console or terminal emulator and change into a convenient directory in which to store your local copy of the source code.
- Check out the remote repository. Run:
git clone ssh://USERNAME@git.fedorahosted.org/git/docs/NAME_OF_GUIDE.git
Where USERNAME is your FAS username, and NAME_OF_GUIDE is the name of your guide.
Git clones the remote repository into a new directory with the same name as the name of your guide. Because the repository is currently empty, Git warns you:
warning: You appear to have cloned an empty repository.
Ignore this warning. - Change into the new directory.
- Add the files for your guide:
- If you are creating a new guide, create the structure of the guide with Publican:
publican create --name NAME_OF_GUIDE
Refer to the Publican User Guide for instructions on setting up a new document with Publican - If you are moving an existing project into Fedora, copy or move the files into this new directory. If the project was previously in a version-control system, be careful not to copy hidden directories such as .svn or .git directories. If the project was previously maintained in SVN or CVS and has multiple branches, only import the trunk at this stage. Import separate branches of the project into separate Git branches later, using the procedure described in Branching a document in git
- If you are creating a new guide, create the structure of the guide with Publican:
- When you have created or imported your source files, initialize the local git repository:
git init
- Now check the files into the remote repository:
git add . git commit -m"Initial check-in" git push origin master
Add your guide to the Docs Project guides table
When you have some hosting space and have checked in your source code, add your details and details of your guide to the guides table in the Fedora wiki: https://fedoraproject.org/wiki/Docs_Project_guides_table#Guides
Add your guide to Transifex
Transifex is the Fedora Project's translation interface.
If you have a stable version of your guide, create a separate branch in which translators can work. This branch is named after the branch of Fedora for which the documentation is to be released. The master branch of your document is used only for developing the English text and should not contain POT or PO files. The process for branching a Fedora document for translation is outlined on the Fedora wiki: https://fedoraproject.org/wiki/Branching_a_document_in_git
The translation branch should contain the Publican pot directory and any language directories that you are importing. You should also run publican update_po to add a few other languages heavily translated in Fedora, including nl-NL (Dutch), pl-PL (Polish), pt-PT (Portuguese), sv-SE (Swedish), and uk-UA (Ukrainian).
When you have created the translation branch, follow the instructions on the Fedora wiki to request the Fedora Localization Team to add it to Transifex: https://fedoraproject.org/wiki/L10N/FAQ#How_do_I_add_a_module_to_Transifex.3F_.28.23add-transifex.29
If your guide is still under development, you do not need to create a branch for translations yet. Wait until you finalise the English content first.
Publish your guide on docs.fedoraproject.org
Check out the git repo that holds the content of the docs.fedoraproject.org website:
ssh://USERNAME@git.fedorahosted.org/git/docs/web.git
Build your book in Publican, then insert it into a logical place in the directory structure. Edit the top-level index.html file to link to your book in the formats and languages in which it is available.
This process is currently (May 2010) undergoing changes to accommodate the new web publishing features coming in Publican 2.0.