{section: Overview} In 2019 we migrated the HTCondor Manual from our old LaTeX format into the Sphinx documentation generator using the reStructuredText format. We will also be hosting it on Read the Docs. The manual can be found here: http://htcondor.readthedocs.io {section: Prerequisites} 1: Install Python. Any version is fine. *::https://www.python.org/downloads 1: Install Sphinx. The recommended way to install Sphinx is via pip: {code} sudo pip install sphinx sphinx_rtd_theme {endcode} On RHEL and CentOS *we do not support* installing Sphinx from yum or RPM. The available package is an old version which does not support all our extensions. For other Linux distributions, Windows and macOS, you can find instructions here: *::https://www.sphinx-doc.org/en/master/usage/installation.html 1: [Optional] Install python-docutils. This is only needed if you want to generate man pages for the manual: {code} sudo yum install python-docutils {endcode} {section: Building} {subsection: Building and previewing the manual locally} *:: The manual pages exist in our git repository under the =/docs= folder *:: Each top-level section of the manual has a corresponding subdirectory with the same name. For example, all the content for "Overview" is under =/docs/overview=, the content for "User's Manual" is under =/docs/users-manual=, and so on. *:: Each page of the manual has a corresponding file with the same name and a .rst extension. For example, the content for the "Overview > Exceptional Features" page is in =/docs/overview/exceptional-features.rst= *:: To make a local build of the manual, go to your =/docs= folder and run: {code} make html {endcode} *:: To preview your build, open a web browser and go to the following URL: =file:////docs/_build/html/index.html= *:: To clean your local build, go to your =/docs= folder and run: {code} make clean {endcode} {subsection: Different versions of the manual} *:: Read the Docs allows us to host multiple versions of the manual. We'll have two separate versions: "latest" (equivalent to Development Release) and "stable" (equivalent to Stable Release). *:: To make edits to the latest version, make your changes on the *master* branch. *:: To make edits to the stable version, make your changes to the *V8_8-branch* (or the appropriate *V8_8_X-branch* if making your changes after code freeze) {section: Publishing} {subsection: Publishing the manual onto Read the Docs} *:: Currently Mark or Josh has to login to Read the Docs to manually push any changes. *:: Before we go live in May 2019, we'll set up a webhook in our git repository. This will cause any changes to get pushed automatically. {subsection: Generating man pages} *:: The files in =/docs/man-pages= will be the official source for our man pages going forward. *:: You can use the =rst2man= utility (included in the =python-docutils= package mentioned above) to convert these .rst files into man pages, for example: {code} rst2man /docs/man-pages/condor_submit.rst /usr/share/man/man1/condor_submit.1 {endcode}