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

Knoxbug2016

Feb 11, 2017

Download

Technology

Dru Lavigne
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: 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