Page History
- 2020-Aug-05 17:35 coatsworth
- 2020-Jul-02 10:24 karpel
- 2020-Jul-02 09:34 karpel
- 2020-Apr-17 12:45 karpel
- 2020-Apr-17 12:22 karpel
- 2020-Apr-17 11:51 karpel
- 2020-Apr-15 17:52 coatsworth
- 2019-Nov-21 17:38 coatsworth
- 2019-Nov-15 09:57 karpel
- 2019-Sep-23 09:41 karpel
- 2019-Aug-28 09:47 karpel
- 2019-May-10 15:29 coatsworth
- 2019-May-09 16:38 coatsworth
- 2019-May-07 11:46 coatsworth
- 2019-May-03 14:26 coatsworth
- 2019-Apr-02 14:49 karpel
- 2019-Mar-29 12:39 coatsworth
- 2019-Mar-28 19:08 coatsworth
- 2019-Mar-28 17:05 coatsworth
Read the Docs 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
Prerequisites
- Install Python (https://www.python.org/downloads, or you system package manager). You must install Python 3+. We no longer support Python 2.
- Install Sphinx and related support packages. The recommended way to install Sphinx is via `pip`, and we recommend using our pinned dependencies:
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:
pip3 install --user -r docs/requirements.txt
- Install pandoc. On RHEL, for example:
Windows and Mac installers can be found at https://github.com/jgm/pandoc/releases/
sudo yum install pandoc
- Install the HTCondor Python bindings.
This could be via
pip(make sure you get the right version, e.g.pip3 install htcondor==8.8.1), or by editing yourPYTHONPATHenvironment variable to point at the packages in your HTCondor build. For example (replacing<htcondor-release-dir>with your local release directory path):Note: on RTD, the docs are built using the pip-installedexport PYTHONPATH=<htcondor-release-dir>/lib/python3:$PYTHONPATH
htcondorversion read out ofCMakeLists.txt, and the package versions indocs/requirements.txt. - If you're on Python <= 3.4 (editorial note: why?!), install the
pathlibcompatibility module:pip3 install --user pathlib
- [Optional] Install https://pypi.org/project/sphinx-autobuild/. This is useful if you're making lots of quick edits to the manual and expect to build it many times.
See below for instructions on using
pip3 install --user sphinx-autobuild
sphinx-autobuild.
Building
Building and previewing the manual locally
- The manual pages exist in our git repository under the
/docsfolder - 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
/docsfolder and run:make html
- To preview your build, open a web browser and go to the following URL:
file:///<path-to-condor-src>/docs/_build/html/index.html - To clean your local build, go to your
/docsfolder and run:make clean
Using sphinx-autobuild to build and preview
Instead of the instructions in the previous section, go to /docs and run
sphinx-autobuild . _build/html
localhost webserver hosting the docs.
Leave this program running: sphinx-autobuild will watch the docs source tree for changes and rebuild when it detects changes (you may still need to manually reload the page inside your web browser, but it will usually force a refresh by itself).
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)
Formatting Guidelines
See the Manual Formatting Guidelines page.
Publishing
Publishing the manual onto Read the Docs
- Currently Mark or Josh has to login to Read the Docs to manually push any changes.
Different versions of the manual
- To make changes to the devel/latest version of the manual, put all your changes in the master branch.
- To make changes to the stable version of the manual, you need to add a tag called "stable" to the commit in V8_8-branch that contains the changes you want. To update the stable tag to a new commit, run the following:
git tag --delete stable git push --delete origin tag stable git tag stable git push origin stable
Generating man pages
- The files in
/docs/man-pageswill be the official source for our man pages going forward. - Sphinx can generate the man pages automatically. They will get output by default to the
/docs/_build/manfolder. From the/docsfolder, run:make man
