docs: specify redirects relative to docs-root
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Wed, 21 Oct 2020 11:42:30 +0000 (13:42 +0200)
committerMarge Bot <eric+marge@anholt.net>
Wed, 21 Oct 2020 18:11:39 +0000 (18:11 +0000)
It's a lot easier to reason about redirects if they're specified
relative to thje docs-root, so let's do that instead.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7174>

docs/_exts/redirects.py

index 4528189..04308b7 100644 (file)
@@ -1,4 +1,5 @@
 import os
+import pathlib
 from urllib.parse import urlparse
 
 redirects = [
@@ -20,6 +21,7 @@ def create_redirects(app, docname):
         os.makedirs(os.path.dirname(path), exist_ok=True)
 
         if urlparse(dst).scheme == "":
+            dst = pathlib.posixpath.relpath(dst, start=os.path.dirname(src))
             if not os.path.isfile(os.path.join(os.path.dirname(path), dst)):
                 raise Exception('{0} does not exitst'.format(dst))