summaryrefslogtreecommitdiffstats
path: root/tools/moztreedocs/docs/architecture.rst
diff options
context:
space:
mode:
Diffstat (limited to 'tools/moztreedocs/docs/architecture.rst')
-rw-r--r--tools/moztreedocs/docs/architecture.rst51
1 files changed, 51 insertions, 0 deletions
diff --git a/tools/moztreedocs/docs/architecture.rst b/tools/moztreedocs/docs/architecture.rst
new file mode 100644
index 0000000000..fc502f847f
--- /dev/null
+++ b/tools/moztreedocs/docs/architecture.rst
@@ -0,0 +1,51 @@
+Documentation architecture
+==========================
+
+The documentation relies on Sphinx and many Sphinx extensions.
+
+The documentation code is in two main directories:
+
+* https://searchfox.org/mozilla-central/source/docs
+* https://searchfox.org/mozilla-central/source/tools/moztreedocs
+
+Our documentation supports both rst & markdown syntaxes.
+
+Configuration
+-------------
+
+The main configuration file is:
+
+https://searchfox.org/mozilla-central/source/docs/config.yml
+
+It contains the categories, the redirects, the warnings and others configuration aspects.
+
+The dependencies are listed in:
+
+https://searchfox.org/mozilla-central/source/tools/moztreedocs/requirements.in
+
+Be aware that Python libraries stored in `third_party/python` are used in priority (not always for good reasons). See :ref:`Vendor the source of the Python package in-tree <python-vendor>` for more details.
+
+
+Architecture
+------------
+
+
+`mach_commands <https://searchfox.org/mozilla-central/source/tools/moztreedocs/mach_commands.py>`__
+contains:
+
+* `mach doc` arguments managements
+* Detection/configuration of the environment (nodejs for jsdoc, pip for dependencies, etc)
+* Symlink the doc sources (.rst & .md) from the source tree into the staging directory
+* Fails the build if any critical warnings have been identified
+* Starts the sphinx build (and serve it if the option is set)
+* Manages telemetry
+
+`docs/conf.py <https://searchfox.org/mozilla-central/source/docs/conf.py>`__ defines:
+
+* The list of extensions
+* JS source paths
+* Various sphinx configuration
+
+At the end of the build documentation process, files will be uploaded to a CDN:
+
+https://searchfox.org/mozilla-central/source/tools/moztreedocs/upload.py