Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
vllm_cscc
Commits
1fd471e9
Unverified
Commit
1fd471e9
authored
Jul 07, 2025
by
Michael Yao
Committed by
GitHub
Jul 07, 2025
Browse files
Add docstrings to url_schemes.py to improve readability (#20545)
Signed-off-by:
windsonsea
<
haifeng.yao@daocloud.io
>
parent
2c5ebec0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
69 additions
and
1 deletion
+69
-1
docs/mkdocs/hooks/url_schemes.py
docs/mkdocs/hooks/url_schemes.py
+69
-1
No files found.
docs/mkdocs/hooks/url_schemes.py
View file @
1fd471e9
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
"""
This is basically a port of MyST parser’s external URL resolution mechanism
(https://myst-parser.readthedocs.io/en/latest/syntax/cross-referencing.html#customising-external-url-resolution)
to work with MkDocs.
It allows Markdown authors to use GitHub shorthand links like:
- [Text](gh-issue:123)
- <gh-pr:456>
- [File](gh-file:path/to/file.py#L10)
These are automatically rewritten into fully qualified GitHub URLs pointing to
issues, pull requests, files, directories, or projects in the
`vllm-project/vllm` repository.
The goal is to simplify cross-referencing common GitHub resources
in project docs.
"""
import
regex
as
re
from
mkdocs.config.defaults
import
MkDocsConfig
from
mkdocs.structure.files
import
Files
...
...
@@ -7,11 +26,42 @@ from mkdocs.structure.pages import Page
def
on_page_markdown
(
markdown
:
str
,
*
,
page
:
Page
,
config
:
MkDocsConfig
,
files
:
Files
):
files
:
Files
)
->
str
:
"""
Custom MkDocs plugin hook to rewrite special GitHub reference links
in Markdown.
This function scans the given Markdown content for specially formatted
GitHub shorthand links, such as:
- `[Link text](gh-issue:123)`
- `<gh-pr:456>`
And rewrites them into fully-qualified GitHub URLs with GitHub icons:
- `[:octicons-mark-github-16: Link text](https://github.com/vllm-project/vllm/issues/123)`
- `[:octicons-mark-github-16: Pull Request #456](https://github.com/vllm-project/vllm/pull/456)`
Supported shorthand types:
- `gh-issue`
- `gh-pr`
- `gh-project`
- `gh-dir`
- `gh-file`
Args:
markdown (str): The raw Markdown content of the page.
page (Page): The MkDocs page object being processed.
config (MkDocsConfig): The MkDocs site configuration.
files (Files): The collection of files in the MkDocs build.
Returns:
str: The updated Markdown content with GitHub shorthand links replaced.
"""
gh_icon
=
":octicons-mark-github-16:"
gh_url
=
"https://github.com"
repo_url
=
f
"
{
gh_url
}
/vllm-project/vllm"
org_url
=
f
"
{
gh_url
}
/orgs/vllm-project"
# Mapping of shorthand types to their corresponding GitHub base URLs
urls
=
{
"issue"
:
f
"
{
repo_url
}
/issues"
,
"pr"
:
f
"
{
repo_url
}
/pull"
,
...
...
@@ -19,6 +69,8 @@ def on_page_markdown(markdown: str, *, page: Page, config: MkDocsConfig,
"dir"
:
f
"
{
repo_url
}
/tree/main"
,
"file"
:
f
"
{
repo_url
}
/blob/main"
,
}
# Default title prefixes for auto links
titles
=
{
"issue"
:
"Issue #"
,
"pr"
:
"Pull Request #"
,
...
...
@@ -27,11 +79,19 @@ def on_page_markdown(markdown: str, *, page: Page, config: MkDocsConfig,
"file"
:
""
,
}
# Regular expression to match GitHub shorthand links
scheme
=
r
"gh-(?P<type>.+?):(?P<path>.+?)(#(?P<fragment>.+?))?"
inline_link
=
re
.
compile
(
r
"\[(?P<title>[^\[]+?)\]\("
+
scheme
+
r
"\)"
)
auto_link
=
re
.
compile
(
f
"<
{
scheme
}
>"
)
def
replace_inline_link
(
match
:
re
.
Match
)
->
str
:
"""
Replaces a matched inline-style GitHub shorthand link
with a full Markdown link.
Example:
[My issue](gh-issue:123) → [:octicons-mark-github-16: My issue](https://github.com/vllm-project/vllm/issues/123)
"""
url
=
f
'
{
urls
[
match
.
group
(
"type"
)]
}
/
{
match
.
group
(
"path"
)
}
'
if
fragment
:
=
match
.
group
(
"fragment"
):
url
+=
f
"#
{
fragment
}
"
...
...
@@ -39,6 +99,13 @@ def on_page_markdown(markdown: str, *, page: Page, config: MkDocsConfig,
return
f
'[
{
gh_icon
}
{
match
.
group
(
"title"
)
}
](
{
url
}
)'
def
replace_auto_link
(
match
:
re
.
Match
)
->
str
:
"""
Replaces a matched autolink-style GitHub shorthand
with a full Markdown link.
Example:
<gh-pr:456> → [:octicons-mark-github-16: Pull Request #456](https://github.com/vllm-project/vllm/pull/456)
"""
type
=
match
.
group
(
"type"
)
path
=
match
.
group
(
"path"
)
title
=
f
"
{
titles
[
type
]
}{
path
}
"
...
...
@@ -48,6 +115,7 @@ def on_page_markdown(markdown: str, *, page: Page, config: MkDocsConfig,
return
f
"[
{
gh_icon
}
{
title
}
](
{
url
}
)"
# Replace both inline and autolinks
markdown
=
inline_link
.
sub
(
replace_inline_link
,
markdown
)
markdown
=
auto_link
.
sub
(
replace_auto_link
,
markdown
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment