[documentation-guide: 1/2] Started work on the Publican chapter

Eric Christensen sparks at fedoraproject.org
Sun Jun 12 05:07:45 UTC 2011


commit 9cf6a25db4846414bcaba1abe89e6598a81f3756
Author: Eric H Christensen <eric at christensenplace.us>
Date:   Sun Jun 12 01:06:20 2011 -0400

    Started work on the Publican chapter

 en-US/publican.xml |  131 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 128 insertions(+), 3 deletions(-)
---
diff --git a/en-US/publican.xml b/en-US/publican.xml
index 38bd374..e25baeb 100644
--- a/en-US/publican.xml
+++ b/en-US/publican.xml
@@ -4,9 +4,134 @@
 %BOOK_ENTITIES;
 ]>
 <chapter id="chap-documentation_guide-publican">
-	<title>Test Chapter</title>
+	<title>Publican</title>
 	<para>
-		This is a test paragraph
+		<application>Publican</application> is a program that creates the end product that our customers see.  The program creates html, html-single, PDF, and ePub formatted files from DocBook XML source code.  The files that Publican builds can then be uploaded to a website or packaged in an RPM.
 	</para>
-</chapter>
+	<section id="chap-documentation_guide-publican-workflow">
+		<title>Publican Workflow</title>
+		<para><application>Publican</application> is a command line interface (CLI) program that uses several commands for creating user files from DocBook XML source code.  <application>Publican</application> will take care of several tasks for you including building a new book or article, build the book in several formats, and create an RPM package that can be used to install the document locally onto a computer.</para>
+	
+	        <section id="chap-documentation_guide-publican-workflow-blank_document">
+	                <title>Creating a Blank Document</title>
+			<para>Creating a new book or article is easy using this command: <command>publican create --name=<replaceable>Book_Name</replaceable> --brand=fedora --lang=<replaceable>language identifier</replaceable> --type=book <replaceable>or</replaceable> article.</command>  This string will create a new directory with the same name as <literal>Book_Name</literal>, with a directory of the language identifier inside the <literal>Book_Name</literal> directory.  Also created is a publican.cfg configuration file that handles some <application>Publican</application> configuration switches.</para>
+			<para>The type of document can be a bit confusing.  The type <literal>article</literal> is best used for documents that will be five pages or less.  <literal>Book</literal> on the other hand is best for documents that are longer than five pages and includes a title page, preface, and an index, among other differences.</para>
+		</section>
+<!-- This text needs to be fleshed out.
+		<section id="chap-documentation_guide-publican-workflow-validating_XML">
+			<title>Validating XML Code</title>
+			<para></para>
+		</section>
+
+                <section id="chap-documentation_guide-publican-workflow-building">
+                        <title>Building a document</title>
+                        <para></para>
+                </section>
+-->
+                <section id="chap-documentation_guide-publican-workflow-Publishing_to_web">
+                        <title>Publishing a Document to the Web</title>
+			<para>Publishing a document to the Fedora Documentation website isn't that difficult when <application>Publican</application> is doing the heavy lifting.  It is assumed that you already have the repository cloned on the computer that <application>Publican</application> will be working from and that your configuration is complete.</para>
+			<warning><para>Documents produced with versions of Publican prior to 2.5 are not compatible with the current website structure. Always make sure that you have the latest version of Publican installed before you publish documents.</para></warning>
+			<para>The following procedure should create four formats of your document and upload those formatted files to the Fedora Documentation website.</para>
+<!--
+<ol><li>Create a local copy of the git repository of the docs.fedoraproject.org website:
+<pre>git clone ssh://USERNAME@git.fedorahosted.org/git/docs/web.git</pre>
+Where '''''USERNAME''''' is your FAS username.
+{{admon/note | Large download | This download will take some time, even on fast connections.}}</li>
+<li>Change into the directory into which you downloaded the '''web.git''' repo, and make a copy of '''homepage.tmp''' named '''homepage.cfg''':
+<pre>cp homepage.tmp homepage.cfg</pre></li>
+<li>Edit the '''homepage.cfg''' file to provide the absolute paths to the '''fedoradocs.db''' file and the '''public_html''' directory. For example, if you downloaded the '''web.git''' repo to the '''fedoradocs''' subdirectory of your home directory, your homepage.cfg file might look like:
+<pre># 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
+host: http://docs.fedoraproject.org
+title: "Fedora Documentation"
+search: '<p/>'</pre></li>
+<li>Make sure you have the latest version of Publican and the Fedora brand package. As root, run:
+<pre>yum update publican publican-fedora</pre>
+</li></ol>
+
+==Publishing a document==
+{{admon/warning|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.}}
+{{admon/warning|If you are publishing draft documentation, be sure to follow the instructions described at [[Publishing draft documentation]] first.}}
+{{admon/warning|If you are publishing the final version of documentation that was first published in the "Draft Documentation" category, be sure to follow the instructions described at [[Unpublishing_draft_documentation_using_Publican|Unpublishing draft documentation]] first.}}
+
+
+
+<ol><li>Update your copy of the docs.fedoraproject.org website. In the directory where you keep your local copy of the site, run:
+<pre>git pull</pre></li>
+
+<li>Change to the directory where you keep a checked-out copy of the document that you want to publish, then run:
+<pre>publican build -- embedtoc -- publish -- formats epub,html,html-single,pdf -- langs LANGUAGE_CODES</pre>
+where '''''LANGUAGE_CODES''''' is a comma-separated list of the languages in which you want to publish this document. </li>
+
+<li>Browse to the '''publish''' subdirectory and to the documents themselves inside it to ensure that the documents have built as you expected. In particular, verify:
+* the product name is '''Fedora''' (note capitalization)
+* the version number is correct
+* the document title is properly capitalized and spaced: for example, '''Foo Guide''', not '''foo-guide'''</li>
+
+<li>Install the book to the Fedora website:
+<pre>publican install_book --site_config PATH_TO_SITE_CONFIG_FILE --lang LANGUAGE_CODE</pre>
+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 publishing the document. Note that you can only run '''publican&nbsp;install_book''' for one language at a time.</li>
 
+<li>Change to the directory in which you keep your local copy of the site and run:
+<pre>git add .
+git commit -m "DESCRIPTION_OF_YOUR_CHANGES"
+git push</pre></li></ol>
+
+==Removing a document==
+To remove a document for a particular version of Fedora in a particular language:
+
+<ol><li>Update your copy of the docs.fedoraproject.org website. In the directory where you keep your local copy of the site, run:
+<pre>git pull</pre></li>
+
+<li>Change to the directory where you keep a checked-out copy of the document that you want to remove, then run:
+<pre>publican remove_book --site_config PATH_TO_SITE_CONFIG_FILE --lang LANGUAGE_CODE</pre>
+
+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&nbsp;remove_book''' for one language at a time.</li>
+
+<li>Change to the directory in which you keep your local copy of the site and run:
+<pre>git add .
+git commit -m "DESCRIPTION_OF_YOUR_CHANGES"
+git push</pre></li>
+
+<li>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:
+<pre>for f in $(git ls-files --deleted); do git rm $f; done </pre>
+Then push these changes to the remote repo:
+<pre>git commit -m"rm unused files"
+git push</pre>
+{{admon/warning|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.}}</li></ol>
+
+==Updating a document==
+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.
+-->
+                </section>
+
+	</section>
+</chapter>
+<!-- Outline for this chapter.
+Introduction to Publican
+** Toolchain that makes it easier to deal with DocBook
+** Basic Publican Workflow
+*** Create a blank document
+*** Validate a document
+*** Build a document
+*** Publish a document to the web
+** Installing Publican
+** Creating a new document
+** Validating a document
+** Building a document
+*** Various formats
+*** Branding (here, or somewhere else?)
+** Publishing web content
+*** building for the web
+*** removing from the web
+*** draft docs
+** Building RPMs from Publican content
+** Handling translations in Publican
+*** po/pot files
+** Tips and Tricks
+*** Marking docs as draft
+-->


More information about the docs-commits mailing list