# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/.
import os import sys from pathlib import Path
import yaml
# Set up Python environment to load build system packages.
OUR_DIR = Path(__file__).parent
topsrcdir = OUR_DIR.parent
# The paths are loaded from config.yml so they can be shared with a CI # optimization strategy that ensures the doc task runs when these files change. with open(OUR_DIR / "config.yml") as fh:
config = yaml.safe_load(fh)
js_source_path = [f"../{path}"for path in config["js_source_paths"]]
# Override the search box to use Google instead of # sphinx search on firefox-source-docs.mozilla.org if (
os.environ.get("MOZ_SOURCE_DOCS_USE_GOOGLE") == "1" and os.environ.get("MOZ_SCM_LEVEL") == "3"
):
templates_path.append("_search_template")
exclude_patterns = ["_build", "_staging", "_venv", "**security/nss/legacy/**"]
pygments_style = "sphinx" # generate label “slugs” for header anchors so that # we can reference them from markdown links.
myst_heading_anchors = 5
# We need to perform some adjustment of the settings and environment # when running on Read The Docs.
on_rtd = os.environ.get("READTHEDOCS", None) == "True"
if on_rtd: # SHELL isn't set on RTD and mach.mixin.process's import raises if a # shell-related environment variable can't be found. Set the variable here # to hack us into working on RTD. assert"SHELL"notin os.environ
os.environ["SHELL"] = "/bin/bash" else: # We only need to set the RTD theme when not on RTD because the RTD # environment handles this otherwise.
html_theme = "sphinx_rtd_theme"
# As we parse the error messages and they can be translated, force # the english locale
os.environ["LANG"] = "C"
def add_github_source_link(app, pagename, templatename, context, doctree): """Add the original source file path to the context for GitHub links.
Docs are staged from various source locations (e.g. gfx/docs/, js/src/doc/)
into a flat structure (e.g. gfx/, js/) for building. We need to reverse this
mapping so GitHub links point to the actual source files in the repo. """ from moztreedocs import manager
# manager.trees maps staging prefixes to source prefixes, # e.g. {"gfx": "gfx/docs", "js": "js/src/doc"}. # Replace the staging prefix with the original source prefix to recover # the real repo path, e.g. "gfx/Silk.rst" -> "gfx/docs/Silk.rst". for staging_prefix, original_prefix in manager.trees.items(): if staging_relpath.startswith(staging_prefix + "/"): # Strip the staging prefix and re-attach the original source prefix. # e.g. "gfx/Silk.rst" -> strip "gfx" -> "Silk.rst" -> "gfx/docs/Silk.rst"
rel = staging_relpath[len(staging_prefix) + 1 :]
context["github_source_path"] = original_prefix + "/" + rel return
# Files directly in docs/ don't go through SPHINX_TREES staging
context["github_source_path"] = "docs/" + staging_relpath
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.