|
7 | 7 | from mkdocs.utils import meta |
8 | 8 | from typing import List |
9 | 9 |
|
10 | | -def _absolute_page_url(site, language, version, *parts): |
11 | | - return 'https://' + '/'.join((site, language, version) + parts) |
| 10 | +def _absolute_page_url(scheme, site, language, version, *parts): |
| 11 | + return scheme + '://' + '/'.join((site, language, version) + parts) |
12 | 12 |
|
13 | 13 |
|
14 | 14 | CARDS_TEMPLATE = """ |
@@ -74,8 +74,8 @@ def cards(pages, columns=1, style="cards", force_version=False): |
74 | 74 | current_page = env.variables.page |
75 | 75 | absolute_url = current_page.abs_url |
76 | 76 | canonical = current_page.canonical_url |
77 | | - url_parts = re.search("//([^/]+)/([^/]+)/([^/]+)/", canonical) |
78 | | - (site, language, version) = url_parts.groups() |
| 77 | + url_parts = re.search(r"^(https?)://([^/]+)/([^/]+)/([^/]+)/", canonical) |
| 78 | + (scheme, site, language, version) = url_parts.groups() |
79 | 79 |
|
80 | 80 | version = force_version or version |
81 | 81 | version = os.getenv("READTHEDOCS_VERSION_NAME", version) |
@@ -113,12 +113,12 @@ def cards(pages, columns=1, style="cards", force_version=False): |
113 | 113 | elif re.search(".html$", path): |
114 | 114 | html = True |
115 | 115 | content = open("docs/%s" % path, "r").read() |
116 | | - page = _absolute_page_url(site, language, version, page) |
| 116 | + page = _absolute_page_url(scheme, site, language, version, page) |
117 | 117 | else: |
118 | 118 | html = False |
119 | 119 | path = path.rstrip('/') |
120 | 120 | content = open("docs/%s.md" % path, "r").read() |
121 | | - page = _absolute_page_url(site, language, version, path, hash) |
| 121 | + page = _absolute_page_url(scheme, site, language, version, path, hash) |
122 | 122 |
|
123 | 123 | if html: |
124 | 124 | match = re.search("<meta property=\"og:title\" content=\"(.*)\"", content, re.MULTILINE) |
|
0 commit comments