跳转到主要内容

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)

首次发布。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源代码分发

mdx_gh_links-0.4.tar.gz (5.8 kB 查看哈希值)

上传时间 源代码

构建分发

mdx_gh_links-0.4-py3-none-any.whl (7.2 kB 查看哈希值)

上传时间 Python 3

支持者