Documentation
as a Code

Igor Khorlo

June 28, 2018
PhUSE SDE
📍 Basel, Switzerland

The problem

Why do we need documentation?

  • Standardize software usage
  • Help users to get started
  • Documents processes

How do you manage documentation?

  • Do you use Microsoft Word?
  • CMS?
  • Sharepoint?

Right way

  • Semantically maintain styles across a document

Wrong way

  • Arial, 16pt, bold
  • Times New Roman, 11pt

Disadvantages of WYSIWYG approach

  • Keeping content and styling together.
  • Hard to review changes over many versions (track changes).
  • Hard to maintain several formats at once: HTML, DOCX, PDF, etc.
  • Very hard to collaborate.
  • Hard to automate.

Approach

Separation of concerns

Markup languages

  • Markdown
  • reStructuredText
  • Asciidoc

Generators

Benefits

VCS Blame

Pull requests

Real world examples

GitLab

GitLab Handbook

Amazon AWS S3 docs

The end

Contact info

Igor Khorlo

https://www.linkedin.com/in/igor-khorlo-4546129a/

igor.khorlo@syneoshealth.com

igor.khorlo@gmail.com