diff options
author | Erik Faye-Lund <[email protected]> | 2020-07-02 12:14:28 +0200 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-07-07 10:22:08 +0000 |
commit | 64a4ba9e1ceeccbc7adeae368b5bc2553be88610 (patch) | |
tree | b7213a74f8ec5277e056f51e545d6e8c610863c9 | |
parent | ce5a3524faa8cbcb2338a46b7178a2702f4f838a (diff) |
docs: add an extension to generate redirects
Reviewed-by: Eric Engestrom <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5706>
-rw-r--r-- | docs/_exts/redirects.py | 19 | ||||
-rw-r--r-- | docs/conf.py | 2 |
2 files changed, 20 insertions, 1 deletions
diff --git a/docs/_exts/redirects.py b/docs/_exts/redirects.py new file mode 100644 index 00000000000..4eb7b855b58 --- /dev/null +++ b/docs/_exts/redirects.py @@ -0,0 +1,19 @@ +import os + +redirects = [] + +def create_redirect(dst): + tpl = '<html><head><meta http-equiv="refresh" content="0; url={0}"><script>window.location.replace("{0}")</script></head></html>' + return tpl.format(dst) + +def create_redirects(app, docname): + if not app.builder.name == 'html': + return + for src, dst in redirects: + path = os.path.join(app.outdir, '{0}.html'.format(src)) + url = '{0}.html'.format(dst) + with open(path, 'w') as f: + f.write(create_redirect(url)) + +def setup(app): + app.connect('build-finished', create_redirects) diff --git a/docs/conf.py b/docs/conf.py index 27367654d47..5661fe0e0ae 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -38,7 +38,7 @@ sys.path.append(os.path.abspath('_exts')) # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = ['sphinx.ext.graphviz', 'formatting'] +extensions = ['sphinx.ext.graphviz', 'formatting', 'redirects'] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] |