Blame tools/docs/conf.py

Packit f0b94e
# This Source Code Form is subject to the terms of the Mozilla Public
Packit f0b94e
# License, v. 2.0. If a copy of the MPL was not distributed with this
Packit f0b94e
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
Packit f0b94e
Packit f0b94e
from __future__ import unicode_literals
Packit f0b94e
Packit f0b94e
import os
Packit f0b94e
import re
Packit f0b94e
import sys
Packit f0b94e
Packit f0b94e
from recommonmark.parser import CommonMarkParser
Packit f0b94e
Packit f0b94e
from datetime import datetime
Packit f0b94e
Packit f0b94e
# Set up Python environment to load build system packages.
Packit f0b94e
OUR_DIR = os.path.dirname(__file__)
Packit f0b94e
topsrcdir = os.path.normpath(os.path.join(OUR_DIR, '..', '..'))
Packit f0b94e
Packit f0b94e
EXTRA_PATHS = (
Packit f0b94e
    'layout/tools/reftest',
Packit f0b94e
    'python/mach',
Packit f0b94e
    'python/mozbuild',
Packit f0b94e
    'python/mozversioncontrol',
Packit f0b94e
    'testing/mozbase/manifestparser',
Packit f0b94e
    'testing/mozbase/mozfile',
Packit f0b94e
    'testing/mozbase/mozprocess',
Packit f0b94e
    'third_party/python/futures',
Packit f0b94e
    'third_party/python/jsmin',
Packit f0b94e
    'third_party/python/which',
Packit f0b94e
)
Packit f0b94e
Packit f0b94e
sys.path[:0] = [os.path.join(topsrcdir, p) for p in EXTRA_PATHS]
Packit f0b94e
Packit f0b94e
sys.path.insert(0, OUR_DIR)
Packit f0b94e
Packit f0b94e
extensions = [
Packit f0b94e
    'sphinx.ext.autodoc',
Packit f0b94e
    'sphinx.ext.graphviz',
Packit f0b94e
    'sphinx.ext.napoleon',
Packit f0b94e
    'sphinx.ext.todo',
Packit f0b94e
    'mozbuild.sphinx',
Packit f0b94e
    'sphinx_js',
Packit f0b94e
]
Packit f0b94e
Packit f0b94e
# JSDoc must run successfully for dirs specified, so running
Packit f0b94e
# tree-wide (the default) will not work currently.
Packit f0b94e
js_source_path = [
Packit f0b94e
    'browser/components/extensions',
Packit f0b94e
    'testing/marionette',
Packit f0b94e
    'toolkit/components/extensions',
Packit f0b94e
    'toolkit/mozapps/extensions',
Packit f0b94e
]
Packit f0b94e
root_for_relative_js_paths = '.'
Packit f0b94e
jsdoc_config_path = 'tools/docs/jsdoc.json'
Packit f0b94e
Packit f0b94e
templates_path = ['_templates']
Packit f0b94e
source_suffix = '.rst'
Packit f0b94e
source_suffix = ['.rst', '.md']
Packit f0b94e
source_parsers = {
Packit f0b94e
   '.md': CommonMarkParser,
Packit f0b94e
}
Packit f0b94e
master_doc = 'index'
Packit f0b94e
project = u'Mozilla Source Tree Docs'
Packit f0b94e
year = datetime.now().year
Packit f0b94e
Packit f0b94e
# Grab the version from the source tree's milestone.
Packit f0b94e
# FUTURE Use Python API from bug 941299.
Packit f0b94e
with open(os.path.join(topsrcdir, 'config', 'milestone.txt'), 'rt') as fh:
Packit f0b94e
    for line in fh:
Packit f0b94e
        line = line.strip()
Packit f0b94e
Packit f0b94e
        if not line or line.startswith('#'):
Packit f0b94e
            continue
Packit f0b94e
Packit f0b94e
        release = line
Packit f0b94e
        break
Packit f0b94e
Packit f0b94e
version = re.sub(r'[ab]\d+$', '', release)
Packit f0b94e
Packit f0b94e
exclude_patterns = ['_build', '_staging', '_venv']
Packit f0b94e
pygments_style = 'sphinx'
Packit f0b94e
Packit f0b94e
# We need to perform some adjustment of the settings and environment
Packit f0b94e
# when running on Read The Docs.
Packit f0b94e
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
Packit f0b94e
Packit f0b94e
if on_rtd:
Packit f0b94e
    # SHELL isn't set on RTD and mach.mixin.process's import raises if a
Packit f0b94e
    # shell-related environment variable can't be found. Set the variable here
Packit f0b94e
    # to hack us into working on RTD.
Packit f0b94e
    assert 'SHELL' not in os.environ
Packit f0b94e
    os.environ['SHELL'] = '/bin/bash'
Packit f0b94e
else:
Packit f0b94e
    # We only need to set the RTD theme when not on RTD because the RTD
Packit f0b94e
    # environment handles this otherwise.
Packit f0b94e
    import sphinx_rtd_theme
Packit f0b94e
    html_theme = 'sphinx_rtd_theme'
Packit f0b94e
    html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
Packit f0b94e
Packit f0b94e
Packit f0b94e
html_static_path = ['_static']
Packit f0b94e
htmlhelp_basename = 'MozillaTreeDocs'
Packit f0b94e
Packit f0b94e
moz_project_name = 'main'