SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Doc Like an Egyptian
Dru Lavigne
Director of Technical Documentation, iXsystems
OLF October 8, 2016
All the old paintings on the tombs,
They do the sand dance, don't you know?
If they move too quick (oh whey oh),
They're falling down like a domino.
Walk Like an Egyptian, The Bangles
Outline
Overview of tools and processes for
creating/maintaining documentation
Introduction to Sphinx, an open source
tool for generating documentation
In Theory: Docs...
Are published with each software release,
in multiple formats which suit the needs and devices of
that software's userbase,
in multiple translations which match that software's
global audience,
and are grammatically and technically correct.
In Reality...
Docs are incomplete or outdated (assuming they even
exist,
are given lower priority than code,
noone wants to write docs / noone reads docs anyways,
and no perfect doc management solution exists.
Incomplete/Outdated Docs
Software is a MOVING target and outdated,
unversioned docs are worse than no docs
Need process for versioning and archiving docs, and
for finding the correct docs for each software version
I Get No Respect Around Here
Cultural issue: docs are as important as code and
Q/A and users do want useful docs
Gently point users to the pertinent section of the
docs and create bug reports or doc updates
Finding the “Perfect” Tool
Is its formatting language easy to learn or
a significant barrier to entry?
Are syntax editors available?
Does it support the required formatting?
Finding the “Perfect” Tool
1st
Law of Doc Tools: the number/quality
of outputs is inversely proportional to the
ease of the markup language.
2nd
Law of Doc Tools: the fewer the doc
maintainers, the higher the number of desired
outputs.
Example: doc/odt
Good: WYSIWYG editor available to any
author
Bad: templates are painful; difficult to
collaborate; outputs are limited
Example: wiki
Good: entry barrier fairly low and syntax quick to
learn
Bad: no concept of ToC, content flow, or versioning;
limited outputs
If you build it, they don't necessarily come (except
for the spambots)
Example: LaTeX
Good: rich formatting language; multiple outputs
integrate well into build and translation systems
Bad: very high barrier to entry as it takes a
dedicated time (and interest) commitment to learn
(and teach) the formatting language
Sphinx Features
Relatively easy-to-learn formatting language
that supports many outputs: HTML, PDF, ePUB,
LaTeX, Texinfo, man pages, txt, API docs, etc.
Provides a number of extensions such as
auto-numbered figures
Sphinx Features
Automatic generation of ToC, index, glossary
Source files are text and easily integrate into
existing revision control, translation, build, and
CI infrastructures
Sphinx Features
Fully customizable conf.py for controlling doc
layout
Several useful built-in builders (e.g. link
checker)
Sphinx Features
Several built-in themes and support for custom
themes; layout fully customizable using CSS
Custom preprocessors can be used to control which
elements appear in which documentation, allowing
for a “write once, publish many” workflow
Sphinx Features
Writers can use any text editor on any system
with Python installed (or issue git pull requests)
Anything can be linked (figures, keywords,
headings, etc.)
Sphinx Limitations
Some odd formatting limitations require CSS
workarounds (e.g. bold italic)
Documentation is limited, assumes you are
familiar with Python, and needs more usage
examples
Converting Docs
Open source conversion utilities exist for
most formats
Experiment by converting a small doc
containing required formatting
Expectations
Will you be versioning docs or only
creating the latest and greatest?
What outputs are required? Versioned
PDFs? HTML on project page? Built into
software itself as a help system?
Source Repo
Determine the doc versioning system and
layout of .rst files
Update the README with instructions
for authors to create their own doc build
environment or how to create pull requests
Create a Cheat Sheet
Include a list of formatting tags and conventions
used by your docs and any gotchas to help new
authors quickly get up-to-speed
Publish the cheat sheet (or include in
README) in doc repository
Review What's Available
Spend some time playing with conf.py and
experiment with existing themes BEFORE
writing new docs as themes affect layout
Review available extensions and determine
if CSS customization is required
Resources & Examples
http://sphinx-doc.org
https://github.com/trueos/trueos-docs
https://github.com/freenas/freenas-docs
https://weblate.org
Questions?
Contact
dru@freebsd.org
URL to slides
http://slideshare.net/dlavigne/olf2016

Contenu connexe

Tendances

documentation-testing.ppt
documentation-testing.pptdocumentation-testing.ppt
documentation-testing.ppt
Gaurav Nigam
 

Tendances (10)

Php vs Python: The Comparison You Should Know
Php vs Python: The Comparison You Should KnowPhp vs Python: The Comparison You Should Know
Php vs Python: The Comparison You Should Know
 
Python programming
Python programmingPython programming
Python programming
 
Introduction to python programming, Why Python?, Applications of Python
Introduction to python programming, Why Python?, Applications of PythonIntroduction to python programming, Why Python?, Applications of Python
Introduction to python programming, Why Python?, Applications of Python
 
Rust 101 (2017 edition)
Rust 101 (2017 edition)Rust 101 (2017 edition)
Rust 101 (2017 edition)
 
Monorepo at Pinterest
Monorepo at PinterestMonorepo at Pinterest
Monorepo at Pinterest
 
Python workshop
Python workshopPython workshop
Python workshop
 
Four Python Pains
Four Python PainsFour Python Pains
Four Python Pains
 
P1 2017 python
P1 2017 pythonP1 2017 python
P1 2017 python
 
documentation-testing.ppt
documentation-testing.pptdocumentation-testing.ppt
documentation-testing.ppt
 
Ubucon 2013, licensing and packaging OSS
Ubucon 2013, licensing and packaging OSSUbucon 2013, licensing and packaging OSS
Ubucon 2013, licensing and packaging OSS
 

En vedette

20160112 小放 普賢行
20160112 小放 普賢行20160112 小放 普賢行
20160112 小放 普賢行
明哲 李
 
Lenguaje%20(bolet%c3%a dn%20 n%c2%ba%2001%20-%20ab2%20sm%202015)
Lenguaje%20(bolet%c3%a dn%20 n%c2%ba%2001%20-%20ab2%20sm%202015)Lenguaje%20(bolet%c3%a dn%20 n%c2%ba%2001%20-%20ab2%20sm%202015)
Lenguaje%20(bolet%c3%a dn%20 n%c2%ba%2001%20-%20ab2%20sm%202015)
Omar Rodriguez Garcia
 
TUMOR EN MANO -ESSALUD
TUMOR EN MANO -ESSALUDTUMOR EN MANO -ESSALUD
TUMOR EN MANO -ESSALUD
Martin Moran
 

En vedette (16)

20160112 小放 普賢行
20160112 小放 普賢行20160112 小放 普賢行
20160112 小放 普賢行
 
Come fare le fritelle
Come fare le fritelleCome fare le fritelle
Come fare le fritelle
 
How To Use A Video Camera
How To Use A Video CameraHow To Use A Video Camera
How To Use A Video Camera
 
One Health and climate change workshop AVA 2016
One Health and climate change workshop AVA 2016One Health and climate change workshop AVA 2016
One Health and climate change workshop AVA 2016
 
Patton Timeline final
Patton Timeline finalPatton Timeline final
Patton Timeline final
 
PROYECTO DE AULA
PROYECTO DE AULA PROYECTO DE AULA
PROYECTO DE AULA
 
Lenguaje%20(bolet%c3%a dn%20 n%c2%ba%2001%20-%20ab2%20sm%202015)
Lenguaje%20(bolet%c3%a dn%20 n%c2%ba%2001%20-%20ab2%20sm%202015)Lenguaje%20(bolet%c3%a dn%20 n%c2%ba%2001%20-%20ab2%20sm%202015)
Lenguaje%20(bolet%c3%a dn%20 n%c2%ba%2001%20-%20ab2%20sm%202015)
 
Москва ДИТ Город как сервис
Москва ДИТ Город как сервисМосква ДИТ Город как сервис
Москва ДИТ Город как сервис
 
Taimkattetüübid
TaimkattetüübidTaimkattetüübid
Taimkattetüübid
 
An overview on the difference between classical theory and Keynesian theory
An overview on the difference between classical theory and Keynesian theoryAn overview on the difference between classical theory and Keynesian theory
An overview on the difference between classical theory and Keynesian theory
 
Crossref at OpenCon
Crossref at OpenConCrossref at OpenCon
Crossref at OpenCon
 
Looduslik valik.
Looduslik valik.Looduslik valik.
Looduslik valik.
 
TUMOR EN MANO -ESSALUD
TUMOR EN MANO -ESSALUDTUMOR EN MANO -ESSALUD
TUMOR EN MANO -ESSALUD
 
Revista Tu Guía Central - Edición número 95, febrero de 2017
Revista Tu Guía Central - Edición número 95, febrero de 2017Revista Tu Guía Central - Edición número 95, febrero de 2017
Revista Tu Guía Central - Edición número 95, febrero de 2017
 
Mangiare sano
Mangiare sanoMangiare sano
Mangiare sano
 
Grandes Boleros
Grandes BolerosGrandes Boleros
Grandes Boleros
 

Similaire à Olf2016

Life with Sphinx 2012 #sphinxconjp
Life with Sphinx 2012 #sphinxconjpLife with Sphinx 2012 #sphinxconjp
Life with Sphinx 2012 #sphinxconjp
Takeshi Komiya
 
Saeed al ali 10 bb
Saeed al ali 10 bbSaeed al ali 10 bb
Saeed al ali 10 bb
s3eedAlAli
 

Similaire à Olf2016 (20)

Tlf2016
Tlf2016Tlf2016
Tlf2016
 
Why documentation osidays
Why documentation osidaysWhy documentation osidays
Why documentation osidays
 
Niatalk24jan10
Niatalk24jan10Niatalk24jan10
Niatalk24jan10
 
Projects In Foss
Projects In FossProjects In Foss
Projects In Foss
 
Docs as-code-missing.-manual
Docs as-code-missing.-manualDocs as-code-missing.-manual
Docs as-code-missing.-manual
 
Markdown - friend or foe?
Markdown - friend or foe?Markdown - friend or foe?
Markdown - friend or foe?
 
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
APIs And SDKs  Breaking Into And Succeeding In A Specialty MarketAPIs And SDKs  Breaking Into And Succeeding In A Specialty Market
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
 
Plog2014 doc the-new_deal
Plog2014 doc the-new_dealPlog2014 doc the-new_deal
Plog2014 doc the-new_deal
 
From Planning to Publishing: How Business Objects Migrated Documentation to D...
From Planning to Publishing: How Business Objects Migrated Documentation to D...From Planning to Publishing: How Business Objects Migrated Documentation to D...
From Planning to Publishing: How Business Objects Migrated Documentation to D...
 
The Big Documentation Extravaganza
The Big Documentation ExtravaganzaThe Big Documentation Extravaganza
The Big Documentation Extravaganza
 
Software for paper formatting
Software for paper formatting Software for paper formatting
Software for paper formatting
 
[EclipseCon France 2017] Eclipse Platform Generic Editor
[EclipseCon France 2017] Eclipse Platform Generic Editor[EclipseCon France 2017] Eclipse Platform Generic Editor
[EclipseCon France 2017] Eclipse Platform Generic Editor
 
Research Tool - End Note
Research Tool - End NoteResearch Tool - End Note
Research Tool - End Note
 
Code the docs-yu liu
Code the docs-yu liuCode the docs-yu liu
Code the docs-yu liu
 
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
2015 bioinformatics python_introduction_wim_vancriekinge_vfinal
 
2010 tool forum ata handout
2010 tool forum ata handout2010 tool forum ata handout
2010 tool forum ata handout
 
How community software supports language documentation and data analysis
How community software supports language documentation and data analysisHow community software supports language documentation and data analysis
How community software supports language documentation and data analysis
 
Improving writing aids, the community way
Improving writing aids, the community wayImproving writing aids, the community way
Improving writing aids, the community way
 
Life with Sphinx 2012 #sphinxconjp
Life with Sphinx 2012 #sphinxconjpLife with Sphinx 2012 #sphinxconjp
Life with Sphinx 2012 #sphinxconjp
 
Saeed al ali 10 bb
Saeed al ali 10 bbSaeed al ali 10 bb
Saeed al ali 10 bb
 

Plus de Dru Lavigne (20)

Olf2018
Olf2018Olf2018
Olf2018
 
Olf2017
Olf2017Olf2017
Olf2017
 
FreeBSD System Administration Using SysAdm
FreeBSD System Administration Using SysAdmFreeBSD System Administration Using SysAdm
FreeBSD System Administration Using SysAdm
 
Asiabsdcon2017
Asiabsdcon2017Asiabsdcon2017
Asiabsdcon2017
 
Flourish16
Flourish16Flourish16
Flourish16
 
Lfnw15
Lfnw15Lfnw15
Lfnw15
 
Asiabsdcon15
Asiabsdcon15Asiabsdcon15
Asiabsdcon15
 
Scale2015
Scale2015Scale2015
Scale2015
 
Olf2014
Olf2014Olf2014
Olf2014
 
Ghc14
Ghc14Ghc14
Ghc14
 
Fossetcon14
Fossetcon14Fossetcon14
Fossetcon14
 
Tlf2014
Tlf2014Tlf2014
Tlf2014
 
Asiabsdcon14 lavigne
Asiabsdcon14 lavigneAsiabsdcon14 lavigne
Asiabsdcon14 lavigne
 
Asiabsdcon14
Asiabsdcon14Asiabsdcon14
Asiabsdcon14
 
Scale2014
Scale2014Scale2014
Scale2014
 
Dru lavigne servers-tutorial
Dru lavigne servers-tutorialDru lavigne servers-tutorial
Dru lavigne servers-tutorial
 
Dru lavigne oss-sysadmin
Dru lavigne oss-sysadminDru lavigne oss-sysadmin
Dru lavigne oss-sysadmin
 
Dru lavigne oss-desktop_apps
Dru lavigne oss-desktop_appsDru lavigne oss-desktop_apps
Dru lavigne oss-desktop_apps
 
Bsd ss
Bsd ssBsd ss
Bsd ss
 
Nycbsdcon14
Nycbsdcon14Nycbsdcon14
Nycbsdcon14
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Olf2016

  • 1. Doc Like an Egyptian Dru Lavigne Director of Technical Documentation, iXsystems OLF October 8, 2016
  • 2. All the old paintings on the tombs, They do the sand dance, don't you know? If they move too quick (oh whey oh), They're falling down like a domino. Walk Like an Egyptian, The Bangles
  • 3. Outline Overview of tools and processes for creating/maintaining documentation Introduction to Sphinx, an open source tool for generating documentation
  • 4. In Theory: Docs... Are published with each software release, in multiple formats which suit the needs and devices of that software's userbase, in multiple translations which match that software's global audience, and are grammatically and technically correct.
  • 5. In Reality... Docs are incomplete or outdated (assuming they even exist, are given lower priority than code, noone wants to write docs / noone reads docs anyways, and no perfect doc management solution exists.
  • 6. Incomplete/Outdated Docs Software is a MOVING target and outdated, unversioned docs are worse than no docs Need process for versioning and archiving docs, and for finding the correct docs for each software version
  • 7. I Get No Respect Around Here Cultural issue: docs are as important as code and Q/A and users do want useful docs Gently point users to the pertinent section of the docs and create bug reports or doc updates
  • 8. Finding the “Perfect” Tool Is its formatting language easy to learn or a significant barrier to entry? Are syntax editors available? Does it support the required formatting?
  • 9. Finding the “Perfect” Tool 1st Law of Doc Tools: the number/quality of outputs is inversely proportional to the ease of the markup language. 2nd Law of Doc Tools: the fewer the doc maintainers, the higher the number of desired outputs.
  • 10. Example: doc/odt Good: WYSIWYG editor available to any author Bad: templates are painful; difficult to collaborate; outputs are limited
  • 11. Example: wiki Good: entry barrier fairly low and syntax quick to learn Bad: no concept of ToC, content flow, or versioning; limited outputs If you build it, they don't necessarily come (except for the spambots)
  • 12. Example: LaTeX Good: rich formatting language; multiple outputs integrate well into build and translation systems Bad: very high barrier to entry as it takes a dedicated time (and interest) commitment to learn (and teach) the formatting language
  • 13. Sphinx Features Relatively easy-to-learn formatting language that supports many outputs: HTML, PDF, ePUB, LaTeX, Texinfo, man pages, txt, API docs, etc. Provides a number of extensions such as auto-numbered figures
  • 14. Sphinx Features Automatic generation of ToC, index, glossary Source files are text and easily integrate into existing revision control, translation, build, and CI infrastructures
  • 15. Sphinx Features Fully customizable conf.py for controlling doc layout Several useful built-in builders (e.g. link checker)
  • 16. Sphinx Features Several built-in themes and support for custom themes; layout fully customizable using CSS Custom preprocessors can be used to control which elements appear in which documentation, allowing for a “write once, publish many” workflow
  • 17. Sphinx Features Writers can use any text editor on any system with Python installed (or issue git pull requests) Anything can be linked (figures, keywords, headings, etc.)
  • 18. Sphinx Limitations Some odd formatting limitations require CSS workarounds (e.g. bold italic) Documentation is limited, assumes you are familiar with Python, and needs more usage examples
  • 19.
  • 20.
  • 21.
  • 22. Converting Docs Open source conversion utilities exist for most formats Experiment by converting a small doc containing required formatting
  • 23. Expectations Will you be versioning docs or only creating the latest and greatest? What outputs are required? Versioned PDFs? HTML on project page? Built into software itself as a help system?
  • 24. Source Repo Determine the doc versioning system and layout of .rst files Update the README with instructions for authors to create their own doc build environment or how to create pull requests
  • 25. Create a Cheat Sheet Include a list of formatting tags and conventions used by your docs and any gotchas to help new authors quickly get up-to-speed Publish the cheat sheet (or include in README) in doc repository
  • 26. Review What's Available Spend some time playing with conf.py and experiment with existing themes BEFORE writing new docs as themes affect layout Review available extensions and determine if CSS customization is required