Top Banner
Writing Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation is licensed under the Creative Commons Attribution-ShareAlike (BY-SA) 3.0 license, except for the Fedora logo, which is used by permission. Individual images are licensed under a CC license by their respective owners, as shown.
31

Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Mar 23, 2018

Download

Documents

phamnhi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Writing Technical Documentation

with DocBookand Publican

Jared SmithShakthi Kannan

This presentation is licensed under the Creative Commons Attribution-ShareAlike (BY-SA) 3.0 license, except for the Fedora logo, which is used by permission.

Individual images are licensed under a CC license by their respective owners, as shown.

Page 2: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation
Page 3: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Outline

●What is DocBook?

●Documentation toolkits

●Toolchains

●Publican

●Best Practices

●Examples

●Live Demos

Page 4: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

What is DocBook?

●DocBook is a specification for technical documentation

● It defines a markup language for creating books, articles, websites

●Uses XML and XML tags

●Presentation-neutral form

●Publish in HTML, XHTML, PDF, ePub, man page

http://www.docbook.org/

Page 5: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation
Page 6: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

<book> <title>How to write a book</title> <bookinfo> <author> <firstname>Johnny</firstname> <surname>Author</surname> </author> </bookinfo> <chapter> <title>Chapter the First</title> <para>Let's begin with a story! Once upon a time in Pune, there was a great conference...</para> </chapter></book>

DocBook

Page 7: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

<book> <title>How to write a book</title> <bookinfo> <author> <firstname>Johnny</firstname> <surname>Author</surname> </author> </bookinfo> <chapter> <title>Chapter the First</title> <para>Let's begin with a story! Once upon a time in Pune, there was a great conference...</para> </chapter></book>

DocBook

Page 8: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

<book> <title>How to write a book</title> <bookinfo> <author> <firstname>Johnny</firstname> <surname>Author</surname> </author> </bookinfo> <chapter> <title>Chapter the First</title> <para>Let's begin with a story! Once upon a time in Pune, there was a great conference...</para> </chapter></book>

DocBook

Page 9: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

<book> <title>How to write a book</title> <bookinfo> <author> <firstname>Johnny</firstname> <surname>Author</surname> </author> </bookinfo> <chapter> <title>Chapter the First</title> <para>Let's begin with a story! Once upon a time in Pune, there was a great conference...</para> </chapter></book>

DocBook

Page 10: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

<book> <title>How to write a book</title> <bookinfo> <author> <firstname>Johnny</firstname> <surname>Author</surname> </author> </bookinfo> <chapter> <title>Chapter the First</title> <para>Let's begin with a story! Once upon a time in Pune, there was a great conference...</para> </chapter></book>

DocBook

Page 11: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

<book> <title>How to write a book</title> <bookinfo> <author> <firstname>Johnny</firstname> <surname>Author</surname> </author> </bookinfo> <chapter> <title>Chapter the First</title> <para>Let's begin with a story! Once upon a time in Pune, there was a great conference...</para> </chapter></book>

DocBook

Page 12: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

What tags do I use?

●DocBook: The Definitive Guidehttp://www.docbook.org/tdg/ (or buy the O'Reilly book)

●There are plenty of complete books, articles online on DocBook that you can use as a reference

●Use the full potential of your editor● Some editors will show you valid tags

Page 13: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Best Practices:XIncludes

●By using XIncludes, you can break your book up into smaller files● One file per chapter or section

●Also allows you to create different spins of your book ● Simply include difference sections

●Can include non-XML files

Page 14: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

<book> <title> <xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Chapter1.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Chapter2.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Chapter3.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /></book>

XInclude

Page 15: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Best Practice:Entities

●An entity lets you define a section of text once, and use it multiple times

●Often used for product names, or boilerplate text

●Make it easy to re-brand your documentation

Page 16: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

<!ENTITY PRODUCTNAME "Project Awesome">

<book> <title>All about &PRODUCTNAME;</title> <bookinfo> <author> <firstname>Johnny</firstname> <surname>Author</surname> </author> </bookinfo> <chapter> <title>Chapter the First</title> <para>Let's begin with a story! Once upon a time in Pune, there was a great conference...</para> </chapter></book>

Entity

Page 17: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation
Page 18: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

I Learned DocBook.Now What?

●Once you've written some DocBook, you can use some other XML tools to help you

●xmllint to verify that your XML is both:● Well-formed● Valid

●xsltproc to transform the XML from one format to another, using a stylesheets

● Convert from DocBook to HTML, for example

●xmltidy for cleaning up the formatting

Page 19: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Toolchains

●Toolchains are simple a collection of scripts that simplify the task of working on your book● Validate your DocBook code● Convert to various other formats● Help with translation● Customize presentation rules● Ease of maintenance

Page 20: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Publican

●Publican is an tool chain for creating and working with DocBook

●Another Red Hat contribution to the community

●Makes it very simple to create HTML and PDF output from your DocBook text

●Fedora Docs Project is using Publican

Page 21: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Installation

On Fedora:

# yum install publican publican-doc

# yum install publican-brand

Brands available:

●publican-fedora

●publican-redhat

Page 22: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Using Publican

$ publican create --name Test_Book

$ publican build --formats html, pdf \

--langs en-US --config publican.cfg

$ publican --help

Page 23: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Best Practice: Revision Control

●You can't afford not to learn to use revision control● Emailing around copies of word processor

documents doesn't count● Commit emails are wonderful if working on a

group project● Commits can also be used as a productivity gauge● Undo/redo changes with history is useful

Page 24: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Advanced Topics

●Output formats● HTML (single)● HTML (chunked)● PDF ● ePub● Manual pages

●Translation

●Conditional text

Page 25: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Questions? Doubts? Queries?Questions? Doubts? Queries?

[email protected]@[email protected]@fedoraproject.org

Page 26: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Lab

Page 27: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

User Guide

file:///usr/share/doc/publican-doc-<version>/en-US/index.html

Page 28: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Create

$ publican create --name Test_Book

Page 29: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Build

$ publican build --formats html, pdf \

--langs en-US

Page 30: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Images

<mediaobject>

<imageobject>

<imagedata fileref="./images/picture.png" />

</imageobject>

<textobject><phrase>alternate text</phrase></textobject>

</mediaobject>

Page 31: Jared Smith Shakthi Kannanshakthimaan.com/.../presentations/DocBook_publican_2012.pdfWriting Technical Documentation with DocBook and Publican Jared Smith Shakthi Kannan This presentation

Language

$ publican update_pot

$ publican update_po --langs=ta-IN

$ publican build --formats=html,pdf \

--langs=en-US,ta-IN