Merge pull request #24344 from regisb/regisb/toggles-docs
[BD-21] Generate feature toggle documentation
This commit is contained in:
6
Makefile
6
Makefile
@@ -21,7 +21,7 @@ clean: ## archive and delete most git-ignored files
|
|||||||
|
|
||||||
SWAGGER = docs/swagger.yaml
|
SWAGGER = docs/swagger.yaml
|
||||||
|
|
||||||
docs: api-docs guides ## build all the developer documentation for this repository
|
docs: api-docs guides feature-toggles-docs ## build all the developer documentation for this repository
|
||||||
|
|
||||||
swagger: ## generate the swagger.yaml file
|
swagger: ## generate the swagger.yaml file
|
||||||
DJANGO_SETTINGS_MODULE=docs.docs_settings python manage.py lms generate_swagger --generator-class=edx_api_doc_tools.ApiSchemaGenerator -o $(SWAGGER)
|
DJANGO_SETTINGS_MODULE=docs.docs_settings python manage.py lms generate_swagger --generator-class=edx_api_doc_tools.ApiSchemaGenerator -o $(SWAGGER)
|
||||||
@@ -33,6 +33,9 @@ api-docs-sphinx: swagger ## generate the sphinx source files for api-docs
|
|||||||
api-docs: api-docs-sphinx ## build the REST api docs
|
api-docs: api-docs-sphinx ## build the REST api docs
|
||||||
cd docs/api; make html
|
cd docs/api; make html
|
||||||
|
|
||||||
|
feature-toggles-docs:
|
||||||
|
$(MAKE) -C docs/featuretoggles html
|
||||||
|
|
||||||
guides: ## build the developer guide docs
|
guides: ## build the developer guide docs
|
||||||
cd docs/guides; make clean html
|
cd docs/guides; make clean html
|
||||||
|
|
||||||
@@ -75,6 +78,7 @@ shell: ## launch a bash shell in a Docker container with all edx-platform depend
|
|||||||
REQ_FILES = \
|
REQ_FILES = \
|
||||||
requirements/edx/pip-tools \
|
requirements/edx/pip-tools \
|
||||||
requirements/edx/coverage \
|
requirements/edx/coverage \
|
||||||
|
requirements/edx/doc \
|
||||||
requirements/edx/paver \
|
requirements/edx/paver \
|
||||||
requirements/edx-sandbox/shared \
|
requirements/edx-sandbox/shared \
|
||||||
requirements/edx-sandbox/py35 \
|
requirements/edx-sandbox/py35 \
|
||||||
|
|||||||
1
docs/featuretoggles/.gitignore
vendored
Normal file
1
docs/featuretoggles/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
_build
|
||||||
20
docs/featuretoggles/Makefile
Normal file
20
docs/featuretoggles/Makefile
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# Minimal makefile for Sphinx documentation
|
||||||
|
#
|
||||||
|
|
||||||
|
# You can set these variables from the command line, and also
|
||||||
|
# from the environment for the first two.
|
||||||
|
SPHINXOPTS ?=
|
||||||
|
SPHINXBUILD ?= sphinx-build
|
||||||
|
SOURCEDIR = .
|
||||||
|
BUILDDIR = _build
|
||||||
|
|
||||||
|
# Put it first so that "make" without argument is like "make help".
|
||||||
|
help:
|
||||||
|
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||||
|
|
||||||
|
.PHONY: help Makefile
|
||||||
|
|
||||||
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||||
|
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||||
|
%: Makefile
|
||||||
|
$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||||
36
docs/featuretoggles/conf.py
Normal file
36
docs/featuretoggles/conf.py
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
"""
|
||||||
|
Configuration file for the generation of feature toggle documentation.
|
||||||
|
"""
|
||||||
|
import os
|
||||||
|
|
||||||
|
import edx_theme
|
||||||
|
import git
|
||||||
|
|
||||||
|
# -- Project information -----------------------------------------------------
|
||||||
|
|
||||||
|
project = "Open edX feature toggles"
|
||||||
|
copyright = edx_theme.COPYRIGHT # pylint: disable=redefined-builtin
|
||||||
|
author = edx_theme.AUTHOR
|
||||||
|
release = ""
|
||||||
|
|
||||||
|
# -- General configuration ---------------------------------------------------
|
||||||
|
|
||||||
|
extensions = ["code_annotations.config_and_tools.sphinx.extensions.featuretoggles"]
|
||||||
|
templates_path = ["_templates"]
|
||||||
|
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
|
||||||
|
|
||||||
|
featuretoggles_source_path = os.path.abspath(
|
||||||
|
os.path.join(os.path.dirname(__file__), "..", "..")
|
||||||
|
)
|
||||||
|
featuretoggles_repo_url = "https://github.com/edx/edx-platform"
|
||||||
|
try:
|
||||||
|
edx_platform_version = git.Repo(search_parent_directories=True).head.object.hexsha
|
||||||
|
except git.InvalidGitRepositoryError:
|
||||||
|
edx_platform_version = "master"
|
||||||
|
featuretoggles_repo_version = edx_platform_version
|
||||||
|
|
||||||
|
# -- Options for HTML output -------------------------------------------------
|
||||||
|
|
||||||
|
html_theme = "edx_theme"
|
||||||
|
html_theme_path = [edx_theme.get_html_theme_path()]
|
||||||
|
html_static_path = ["_static"]
|
||||||
6
docs/featuretoggles/index.rst
Normal file
6
docs/featuretoggles/index.rst
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
Open edX Feature Toggles
|
||||||
|
========================
|
||||||
|
|
||||||
|
This is the list of all Open edX feature toggles used in edx-platform. These feature toggles can be used to enable or disable features manually on every platform.
|
||||||
|
|
||||||
|
.. featuretoggles::
|
||||||
7
requirements/edx/doc.in
Normal file
7
requirements/edx/doc.in
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# Requirements for documentation validation
|
||||||
|
-c ../constraints.txt
|
||||||
|
|
||||||
|
code-annotations # provides annotations for certain documentation
|
||||||
|
edx_sphinx_theme # edX theme for Sphinx output
|
||||||
|
gitpython # fetch git repo information
|
||||||
|
Sphinx # Documentation builder
|
||||||
46
requirements/edx/doc.txt
Normal file
46
requirements/edx/doc.txt
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
#
|
||||||
|
# This file is autogenerated by pip-compile
|
||||||
|
# To update, run:
|
||||||
|
#
|
||||||
|
# make upgrade
|
||||||
|
#
|
||||||
|
alabaster==0.7.12 # via sphinx
|
||||||
|
babel==2.8.0 # via sphinx
|
||||||
|
certifi==2020.6.20 # via requests
|
||||||
|
chardet==3.0.4 # via requests
|
||||||
|
click==7.1.2 # via code-annotations
|
||||||
|
code-annotations==0.5.0 # via -r requirements/edx/doc.in
|
||||||
|
django==2.2.15 # via -c requirements/edx/../constraints.txt, code-annotations
|
||||||
|
docutils==0.16 # via sphinx
|
||||||
|
edx-sphinx-theme==1.5.0 # via -r requirements/edx/doc.in
|
||||||
|
gitdb==4.0.5 # via gitpython
|
||||||
|
gitpython==3.1.7 # via -r requirements/edx/doc.in
|
||||||
|
idna==2.10 # via requests
|
||||||
|
imagesize==1.2.0 # via sphinx
|
||||||
|
jinja2==2.11.2 # via code-annotations, sphinx
|
||||||
|
markupsafe==1.1.1 # via jinja2
|
||||||
|
packaging==20.4 # via sphinx
|
||||||
|
pbr==5.4.5 # via stevedore
|
||||||
|
pygments==2.6.1 # via sphinx
|
||||||
|
pyparsing==2.4.7 # via packaging
|
||||||
|
python-slugify==4.0.1 # via code-annotations
|
||||||
|
pytz==2020.1 # via babel, django
|
||||||
|
pyyaml==5.3.1 # via code-annotations
|
||||||
|
requests==2.24.0 # via sphinx
|
||||||
|
six==1.15.0 # via edx-sphinx-theme, packaging, stevedore
|
||||||
|
smmap==3.0.4 # via gitdb
|
||||||
|
snowballstemmer==2.0.0 # via sphinx
|
||||||
|
sphinx==3.1.2 # via -r requirements/edx/doc.in, edx-sphinx-theme
|
||||||
|
sphinxcontrib-applehelp==1.0.2 # via sphinx
|
||||||
|
sphinxcontrib-devhelp==1.0.2 # via sphinx
|
||||||
|
sphinxcontrib-htmlhelp==1.0.3 # via sphinx
|
||||||
|
sphinxcontrib-jsmath==1.0.1 # via sphinx
|
||||||
|
sphinxcontrib-qthelp==1.0.3 # via sphinx
|
||||||
|
sphinxcontrib-serializinghtml==1.1.4 # via sphinx
|
||||||
|
sqlparse==0.3.1 # via django
|
||||||
|
stevedore==1.32.0 # via -c requirements/edx/../constraints.txt, code-annotations
|
||||||
|
text-unidecode==1.3 # via python-slugify
|
||||||
|
urllib3==1.25.10 # via requests
|
||||||
|
|
||||||
|
# The following packages are considered to be unsafe in a requirements file:
|
||||||
|
# setuptools
|
||||||
Reference in New Issue
Block a user