-
Notifications
You must be signed in to change notification settings - Fork 343
Open
Labels
kind: enhancementNew feature or requestNew feature or request
Description
Currently, the ShortLinkTransform
class is hardcoded to work for URLs in the github.com or gitlab.com domains. It would be nice if it would also work with non-gitlab.com domained GitLab repositories, if you have specified a gitlab_url
in the Sphinx conf.py
html_context
dictionary, e.g.
html_context = {
"gitlab_url": "https://gitlab.mydomain.com/",
...
}
I've created my own hacked version of the pydata-sphinx-theme, by editing the setup()
function to contain:
if hasattr(app.config, "html_context"):
gitlab_url = app.config.html_context.get("gitlab_url", "")
if gitlab_url.startswith("https://"):
gitlab_url = {gitlab_url[8:].rstrip("/"): "gitlab"}
elif gitlab_url.startswith("http://"):
gitlab_url = {gitlab_url[7:].rstrip("/"): "gitlab"}
else:
gitlab_url = {}
class ShortenLinkTransformCustom(short_link.ShortenLinkTransform):
supported_platform = short_link.ShortenLinkTransform.supported_platform
supported_platform.update(gitlab_url)
app.add_post_transform(ShortenLinkTransformCustom)
else:
app.add_post_transform(short_link.ShortenLinkTransform)
where I've created a new locally scoped class that add the required URL into the supported_platform
class attribute from the ShortenLinkTransform
class. This is not particularly elegant, and there's probably a better way, but if this is considered useful I can open a PR with the changes (and some added documentation).
dbitouze
Metadata
Metadata
Assignees
Labels
kind: enhancementNew feature or requestNew feature or request