knoxbug2016

28
You Too can Doc Like an Egyptian Dru Lavigne Documentation Lead, iXsystems KnoxBUG May 26, 2016

Upload: dru-lavigne

Post on 11-Feb-2017

98 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Knoxbug2016

You Too can Doc Like an Egyptian

Dru LavigneDocumentation Lead, iXsystemsKnoxBUG May 26, 2016

Page 2: Knoxbug2016

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

Page 3: Knoxbug2016

Outline

Overview of why iXsystems switched toSphinx for its open source documentation

How you can help improve the documentationfor the PC-BSD, Lumina, SysAdm, or FreeNASopen source projects

Page 4: Knoxbug2016

What is Sphinx?

BSD-licensed tool for generating documentation inmultiple formats (eg PDF, HTML, ePUB) from ASCIItext files

Originally created by the Python Project for their docs

Page 5: Knoxbug2016

What is Sphinx?

Uses the reStructuredText markup syntax (.rst)

http://www.sphinx-doc.org

http://docutils.sourceforge.net/rst.html

Page 6: Knoxbug2016

Our Workflow Before Sphinx

Docs edited in MediaWiki

Before release, docs copy/pasted to OpenOffice in order togenerate HTML and PDF

Spent several years(!) convincing the MediaWiki translationplugin to work

Page 7: Knoxbug2016

Why This SuckedWikis have no concept of versions or Table of Contents

Wikis tend to be 90% SPAM management and 10%user-generated content

Time suck cleaning up generated HTML and PDFs

Page 8: Knoxbug2016

What we NeededEasy-to-use, cross-platform, collaborative tool withminimal software requirements

Integration with our existing git repositories, CI(Continuous Integration) and build infrastructure,and Pootle translation system

Ability to publish in multiple formats with minimalpain

Page 9: Knoxbug2016

Why Sphinx?

Easy-to-learn markup language

Writers can use any ASCII text editor (or theirweb browser and github)

Integrates easily into existing infrastructure andconversion utilities are available for existing docs

Page 10: Knoxbug2016

Why Sphinx?Theming support

A variety of extensions (eg automatic figurenumbering)

Useful build targets (eg link checker) and easy torun an automated spellchecker against multiplefiles

Page 11: Knoxbug2016

Our Doc Reposhttps://github.com/pcbsd/pcbsd/tree/master/src-qt5/docs

https://github.com/pcbsd/lumina-docs/

https://github.com/pcbsd/sysadm/tree/master/api

https://github.com/freenas/freenas/tree/master/docs/userguide

Page 12: Knoxbug2016

Sample Layout

Page 13: Knoxbug2016

(Mostly) Formatted Sample

Page 14: Knoxbug2016

Fully Formatted HTML

Page 15: Knoxbug2016

And Its Markup

Page 16: Knoxbug2016

Getting Started on Github

Page 17: Knoxbug2016

Fork the Repo to Edit

Page 18: Knoxbug2016

Click the Edit Icon to Open the Editor

Page 19: Knoxbug2016

Use a Descriptive Commit Message

Page 20: Knoxbug2016

Create a New Pull Request

Page 21: Knoxbug2016

Review Edits

Page 22: Knoxbug2016

Again, Useful Commit Message

Page 23: Knoxbug2016

Pull Request Succeeded

Page 24: Knoxbug2016

What the Reviewer Sees

Page 25: Knoxbug2016

Editing Tips

When updating a screenshot, increment theexisting name by the next letter (when updatinginstall1c.png, name the new image install1d.png)

If the text is formatted (eg with * or :ref:), editthe text but not the formatting

Page 26: Knoxbug2016

Interaction

Join us on #pcbsd, #freenas, or #lumina-desktopfor discussion (IRC Freenode)

Be descriptive in your commit message so itis clear what has changed and why

Be responsive to comments on pull requests

Page 27: Knoxbug2016

Resources

http://doc.pcbsd.org

http://doc.freenas.org

http://lumina-desktop.org/handbook

https://api.sysadm.us

Page 28: Knoxbug2016

Questions?

Contact:[email protected]

URL to slides:http://slideshare.net/dlavigne/knoxbug2016