Title: Documentation with OpenSource tools
1Documentation with OpenSource tools
- David Avsajanishvili
- for BarCamp Caspian
- Baku, 2009
mailtoavsd05_at_gmail.com
2Documentation is
- the process of building communicable materials
(text, tables, diagrams, etc.) to describe some
knowledge - Scientific and Technical documentation
- Legal documents, reports, books, articles, etc.
3Traditional approach
- WYSIWYG
- Using word processing editors
- Using publishing systems.
4Traditional approach EXAMPLE
5Traditional approach Disadvantages
6Traditional approach Disadvantages
7Traditional approach Disadvantages
- Lack of clear structure
- WYSIWYG WYG is WYS only!
8Traditional approach Disadvantages
- Lack of clear structure
- WYSIWYG WYG is WYS only!
- Problems with version-tracking
9Requirements
10Requirements
11Requirements
- Structurability
- Splitting content and presentation
12Requirements
- Structurability
- Splitting structure and presentation
- Reusability
13Requirements
- Structurability
- Splitting content and presentation
- Reusability
- Version tracking possibility
14Presentation Formatselectronic
- HTML / XHTML CSS
- WML
- Derived/related formats HTML Help, Wiki, etc
15Presentation Formatsprintable
- PDF
- TeX / LaTeX / ConTeXt...
- PostScript, DVI
- XSL-FO
16Presentation Formatsuniversal
17(No Transcript)
18Structure format DocBook
- Based on XML/SGML DTD Schema
- Maintained by OASIS technical committee
- Suitable for defining Books, Articles, Chapters,
References, etc. - http//www.docbook.org
19DocBook Conception
20DocBook Conception
21DocBook Example
22Idea make easily editable Document structure
format
23Plain-text-based syntax for Documentation
ASCIIDOC
- Wiki-like plain text syntax
- Fully compatible with DocBook
- Could be converted to various Presentation
Formats through DocBook - Could be converted directly to HTML
- http//www.methods.co.nz/asciidoc/
24AsciiDoc Conception
25ASCIIDOC Example
26ASCIIDOC Example
27AsciiDoc SYNTAX
- Document is started with Document Header
- Doucment consists of Sections, ranged by Levels.
Sections starts with Section Header (title)? - Section consists of Paragraphs and Special Blocks
(notes, warnings, numbered and labeled lists,
tables, etc.)?
28AsciiDocSYNTAX
29AsciiDocSYNTAX
30AsciiDoc USAGE
- Source could be converted to DocBook, HTML, PDF,
PostScript ant other formats using command
utilities - Supports code reusing (composing doc-t from
fragments using include)? - Output could be customized with command-line
options and configuration files
31AsciiDoc FEATURESSyntax highlight
32AsciiDoc FEATURESGRAPHVIZ filter
33More complex example
34Advanced DocumentingBatch script
- Prepare source
- Make script for building documentation from the
source - Build different format output from single source
using the batch - Deploy documentation using the batch
35Advanced DocumentingBatch script
36Advanced DocumentingAuto-generating content
37Advanced DocumentingAuto-generating content
- Script file
- AsciiDoc source
38Advanced DocumentingAuto-generating content
- Script file
- AsciiDoc source
- Result
39Other tools
- MediaWiki, Markdown, reStructuredText, Textile,
POD... - Pandoc
- UMLGraph
- TextUML
40Resources
- www.methods.co.nz/asciidoc/ AsciiDoc
- www.docbook.org DocBook
- www.latex-project.org LaTeX Project
- www.graphviz.org Graphviz Project
- johnmacfarlane.net/pandoc/ Pandoc Project
- www.opendocs.info Documenting portal