Python-Markdown的扩展,支持对GitHub用户、仓库、问题和提交的缩写链接。
项目描述
Python-Markdown Github-Links 扩展
Python-Markdown的扩展,支持对GitHub用户、仓库、问题和提交的缩写链接。
安装
要安装此扩展,请运行以下命令
pip install mdx-gh-links
用法
要使用此扩展,只需将其名称包含在传递给Python-Markdown的扩展列表中。
import markdown
markdown.markdown(src, extensions=['mdx_gh_links'])
配置选项
要设置配置选项,您可以将它们传递给Markdown的exension_configs
关键字...
markdown.markdown(
src,
extensions=['mdx_gh_links'],
extension_configs={
'mdx_gh_links': {'user': 'foo', 'repo': 'bar'}
}
)
... 或者您可以直接导入并将配置传递给mdx_gh_links.GithubLinks
类的实例...
from mdx_gh_links import GithubLinks
markdown.markdown(src, extensions=[GithubLinks(user='foo', repo='bar')])
以下配置选项可用
用户
A GitHub用户名或组织。如果在GitHub链接中没有指定用户或组织,则将使用此选项的值。
仓库
A GitHub仓库。如果在GitHub链接中没有指定仓库,则将使用此选项的值。
域名
存储库的主服务器域名。默认为 https://github.com
,但也可以设置为 GitHub Enterprise Server 的根目录。
语法
此扩展实现了多种方式来指定指向 GitHub 的链接的简写。
生成的 HTML 中的所有链接都分配了 gh-link
类以及该类型链接的独特类。请参阅每种类型以了解分配的具体类。
提及
直接链接到 GitHub 用户、组织或存储库。请注意,不会验证实际是否存在用户、组织或存储库。由于语法无法区分用户和组织,因此所有组织都假设为用户。然而,这种假设仅反映在链接的标题中。
提及使用格式 @{user}
来链接到用户或组织,使用 @{user}/{repo}
来链接到存储库。提及会忽略配置选项中定义的默认值。提及可以通过在 at 符号(@
)前添加反斜杠来转义。
所有提及都分配了 gh-mention
类。
以下表格提供了一些示例
简写 | href | 渲染结果 |
---|---|---|
@foo |
https://github.com/foo |
@foo |
@foo/bar |
https://github.com/foo/bar |
@foo/bar |
\@foo |
@foo | |
\@foo/bar |
@foo/bar |
问题
直接链接到 GitHub 问题或拉取请求(PR)。请注意,不会验证实际是否存在问题或 PR。
问题链接使用格式 #{num}
或 {user}/{repo}#{num}
。 {num}
是分配给问题或 PR 的编号。{user}
和 {repo}
将使用配置选项中定义的默认值(如果未提供)。可以通过在 hash 符号(#
)前添加反斜杠来转义问题链接。
所有问题链接都分配了 gh-issue
类。
以下表格提供了一些示例(默认设置为 user='user', repo='repo'
)
简写 | href | 渲染结果 |
---|---|---|
#123 |
https://github.com/user/repo/issues/123 |
#123 |
foo/bar#123 |
https://github.com/foo/bar/issues/123 |
foo/bar#123 |
\#123 |
#123 | |
foo/bar\#123 |
foo/bar#123 |
提交
直接链接到 GitHub 提交。请注意,不会验证实际是否存在提交。
提交链接由完整的 40 个字符 SHA 哈希组成,可以可选地以 {user}@
或 {user/repo}@
开头。{user}
和 {repo}
将使用配置选项中定义的默认值(如果未提供)。为了避免从链接中链接 40 个字符的哈希,请将其包裹在代码段中。
所有提交链接都分配了 gh-commit
类。
以下表格提供了一些示例(默认设置为 user='user', repo='repo'
)
简写 | href | 渲染结果 |
---|---|---|
72df691791fb36f00cf5363fefe757c8d3042656 |
https://github.com/user/repo/commit/72df691791fb36f00cf5363fefe757c8d3042656 |
72df691 |
foo@72df691791fb36f00cf5363fefe757c8d3042656 |
https://github.com/foo/repo/commit/72df691791fb36f00cf5363fefe757c8d3042656 |
foo@72df691 |
foo/bar@72df691791fb36f00cf5363fefe757c8d3042656 |
https://github.com/foo/bar/commit/72df691791fb36f00cf5363fefe757c8d3042656 |
foo/bar@72df691 |
`72df691791fb36f00cf5363fefe757c8d3042656` |
72df691791fb36f00cf5363fefe757c8d3042656 |
许可证
Python-Markdown Github-Links 扩展根据 LICENSE
文件中定义的 BSD 许可证 许可。
变更日志
版本 0.4 (2023/12/22)
添加 domain
配置选项,以支持 GitHub Enterprise 服务器。
版本 0.3.1 (2023/07/28)
将 README 包含在版本中。
版本 0.3 (2022/07/18)
更新依赖项。
版本 0.2 (2018/03/09)
忽略 Markdown 链接中的提及/问题/提交。
版本 0.1 (2017/11/10)
首次发布。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。