Closed jcfreeman2 closed 3 years ago
Thanks for the neat summary. I just have one comment
GitHub Pages expects the html to be on the git branch, which violates (5.) above.
Yes and no. Whether the HTML sits on a branch of the source repo or on the master of a separate repo is a choice for us to make. The former is incompatible with (5), as you say, the latter could work.
We went with ReadTheDocs + MkDocs (see my talk from this morning, https://indico.fnal.gov/event/47549/contributions/211739/attachments/141619/178393/dunedaq-documentation.pdf)
Since early in the summer, official DUNE DAQ software documentation has been based in the
appfwk
package's wiki. This isn't a long term solution, so we're looking into other approaches for organizing and presenting the DUNE DAQ software documentation. I believe the following are reasonable requirements:--builddoc
option todbt-build.sh
), but typically shouldn't need to be done by the user but rather handled behind-the-scenes (e.g., through a CI approach)I've already thought a bit about the technologies to use. For document generators, the candidates have been MkDocs, Sphinx and Jekyll. For document display, GitHub Pages and ReadTheDocs.
Jekyll's ruby-based and at the last software coordination meeting it was agreed that the hassle of having this dependency on the stack was effectively disqualifying.
GitHub Pages expects the html to be on the git branch, which violates (5.) above.
This leaves us with ReadTheDocs for hosting/presentation, and a choice between MkDocs and Sphinx. I'm leaning toward MkDocs, since its root directory is
docs/
and GitHub is capable of automatically displaying aREADME.md
in adocs/
subdirectory of a repo. For Sphinx,README.md
would need to be insource/docs/
, and therefore couldn't get displayed by GitHub. This relates to (2), above.I've forked this repo into my own GitHub account (https://github.com/jcfreeman2/dont-readme/) and been playing around with MkDocs and Sphinx. With the caveat that the actual information shown on the websites isn't the same, an example of a MkDocs-generated website can be found here and an example of a Sphinx-generated website can be found here