DEPRECATED. Use https://gitlab.com/deconst-next/preparer-sphinx
.rst 👉 🔧 👉 .json
The deconst Sphinx preparer builds Sphinx documentation into custom JSON metadata envelopes. It's intended to be used within a CI system to present content to the rest of build pipeline.
To run the Sphinx preparer locally, you'll need to install Docker for your platform.
Once you have Docker set up, export any desired configuration variables and run deconst-preparer-sphinx.sh with the absolute path to any Sphinx-based content repository.
./deconst-preparer-sphinx.sh /absolute/path/to/content-repoThe following values may be present in the environment:
CONTENT_ROOTis a path containing Sphinx content to prepare. Default: $(pwd)ENVELOPE_DIRis the destination directory for metadata envelopes. Default: $(pwd)/_build/deconst-envelopes/ASSET_DIRis the destination directory for referenced assets. Default: $(pwd)/_build/deconst-assets/CONTENT_ID_BASEis a prefix that's unique among the content repositories associated with the target deconst instance. Our convention is to use the base URL of the GitHub repository. Default: Read from _deconst.json
By default, the preparer will use the deconst-serial builder, which will generate a separate HTML file for every ReST file in your repository. This behavior is similar to running make html. If you would rather generate a single HTML file with the contents of your entire repo (à la make singlehtml), you must add the following line to your conf.py file:
builder = 'deconst-single'The deconst_default_unsearchable property may be set to True to exclude all content from this content repository from being indexed for search.
deconst_default_unsearchable = TrueOne or more page categories can be specified for the entire content repository at once with the deconst_categories property. These are useful for constraining search results and may be used by site templates.
deconst_categories = ['global category one', 'global category two']The Sphinx preparer offers page-level customization by reading per-page metadata that's present on each page.
The page title offered to Deconst templates may be overridden with the deconsttitle attribute:
:deconsttitle: Not the Sphinx titleThis is especially important for your index.rst file, which by default generates a title of "< no title >".
Set additional categories for individual pages with the deconstcategories attribute. Use a comma-separated list of category names. Whitespace will be trimmed from each category.
:deconstcategories: page category one, page category twoIndividual pages can be excluded from search indexing with the deconstunsearchable attribute. Use the string true to exclude a specific page.
:deconstunsearchable: true