Documentation
From Nasqueron Agora
Software
Software we use
Our software are documented with the following.
- rustdoc
- A simple
cargo doc
generates the code documentation for a rust crate.
- Spectacle
- Spectale generates documentation from OpenAPI / Swagger specification. It gives something like this.
- Sphinx
- Generate book-like documentation, manuals, guides from reStructuredText. It's used by some Python software.
Software to explore
The following software seems interesting to solve documentation needs.
- BookJS
- BookJS is a JS lib that can turn a webpage into a formatted Book ready to print to PDF. It is Alpha and available under the AGPL. Developed by the Booktype team for inclusion in any project. There is also a BookJS rendering engine (webkit+BookJS) to create the PDF. - http://bookjs.net/
- Wikihtml2man.1
- Wikihtml2man is an easy to use converter that parses HTML sources, normally originating from a Mediawiki page, and generates Unix Manual Page sources based on it (also referred to as html2man or wiki2man converter). It allows developing project documentation online, e.g. by collaborating in a wiki. It is released as free software under the GNU GPLv3. Technical details are given in its manual page: Wikihtml2man.1.
- Mermaid
- Workflow, gantt and sequence diagrams from Markdown - https://mermaidjs.github.io/
Documentation hosting
Nasqueron hosts documentation at https://docs.nasqueron.org
Provide a new content
Instructions for new content should be added to this file: rOPS: operations/roles/webserver-content/org/nasqueron/docs.sls.
- Static documentation
- Add the software or documentation repository to the staging repository, and deploy it with a file.recurse.
- Dynamic documentation
- Create a Jenkins job (with a
Jenkinsfile
pipeline as code committed to the repository) in the CD instance. A build plan and an Herald rule in Phabricator can run the job each commit. Finally, a Salt state to run the job is needed too for provisioning (don't put requirements, this state is intended to be run each time we need to refresh all doc).
Add new doc to the the homepage
This file needs to be modified: https://devcentral.nasqueron.org/source/docs-www/browse/master/src/data/docs.yml