Sphinx扩展,用于链接到您项目的issue跟踪器
项目描述
Sphinx扩展,用于链接到您项目的issue跟踪器。包括用于链接到问题、拉取请求、用户个人资料的角色,内置对GitHub的支持(尽管这也可以与其它服务一起使用)。
示例
有关示例用法,请参阅marshmallow的变更日志,它使用了本库中的角色。
安装和配置
pip install sphinx-issues
将sphinx_issues添加到您的conf.py中的extensions。
该扩展为GitHub项目提供了默认值。只需设置issues_default_group_project配置变量即可。
# docs/conf.py
# ...
extensions = [
# ...
"sphinx_issues"
]
# Path to GitHub repo {group}/{project} (note that `group` is the GitHub user or organization)
issues_github_path = "sloria/marshmallow"
# which is the equivalent to:
issues_uri = "https://github.com/{group}/{project}/issues/{issue}"
issues_prefix = "#"
issues_pr_uri = "https://github.com/{group}/{project}/pull/{pr}"
issues_pr_prefix = "#"
issues_commit_uri = "https://github.com/{group}/{project}/commit/{commit}"
issues_commit_prefix = "@"
issues_user_uri = "https://github.com/{user}"
issues_user_prefix = "@"
该扩展可高度配置,可以与任何类型的issue跟踪器一起使用。以下是将其配置为与自定义托管GitLab实例一起使用的示例。
# docs/conf.py
# ...
extensions = [
# ...
"sphinx_issues"
]
# Default repo {group}/{project} of gitlab project
issues_default_group_project = "myteam/super_great_project"
issues_uri = "https://gitlab.company.com/{group}/{project}/-/issues/{issue}"
issues_prefix = "#"
issues_pr_uri = "https://gitlab.company.com/{group}/{project}/-/merge_requests/{pr}"
issues_pr_prefix = "!"
issues_commit_uri = "https://gitlab.company.com/{group}/{project}/-/commit/{commit}"
issues_commit_prefix = "@"
issues_user_uri = "https://gitlab.company.com/{user}"
issues_user_prefix = "@"
在文档中使用
在您的文档中使用:issue:和:pr:角色如下所示
See issue :issue:`42`
See issues :issue:`12,13`
See :issue:`sloria/konch#45`.
See PR :pr:`58`
在您的文档中使用:user:角色来链接到用户个人资料(默认为GitHub,但可以通过issues_user_uri配置变量进行配置)。
使用:commit:角色来链接到提交。
Fixed in :commit:`6bb9124d5e9dbb2f7b52864c3d8af7feb1b69403`.
使用 :cve: 角色链接到 https://cve.mitre.org 上的 CVE。
:cve:`CVE-2018-17175` - Addresses possible vulnerability when...
Thanks to :user:`bitprophet` for the idea!
如果您想使用不同于 GitHub 用户名的名称,也可以使用显式名称。
This change is due to :user:`Andreas Mueller <amueller>`.
该语法 :role:`My 自定义标题 <目标> 适用于本扩展的所有角色。
它也可以与列表结合使用。
Fix bad bug :issue:`123, (Duplicate) <199>`
使用 :cwe: 角色链接到 https://cwe.mitre.org 上的 CWE。
:cwe:`CWE-787` - The software writes data past the end, or...
使用 :pypi: 角色链接到 https://pypi.ac.cn。
:pypi:`sphinx-issues` - A Sphinx extension for linking to your project's issue tracker.
致谢
致谢 Jeff Forcier 在 releases 扩展上的工作,这是一个功能齐全的生成变更日志的解决方案。我只是需要一个快速引用 GitHub 问题的方法,所以我抓取了我需要的部分。
许可证
MIT 许可。有关更多详细信息,请参阅捆绑的 LICENSE 文件。
变更日志
4.1.0 (2024-04-14)
添加 :pypi: 角色以链接到 PyPI 项目(#144)。感谢 @shenxianpeng 的建议和 PR。
4.0.0 (2024-01-19)
默认链接 GH Sponsors 的 :user: 角色(#129)。感谢 @webknjaz 的建议。
支持 Python 3.8-3.12。不再支持旧版本。
向后不兼容:删除 __version__、__author__ 和 __license__ 属性。使用 importlib.metadata 读取此元数据。
3.0.1 (2022-01-11)
修复 3.0.0 的回归:exception: ‘in <string>’ requires string as left operand, not type。
3.0.0 (2022-01-10)
:commit: 角色现在输出带有 @ 前缀。
添加更改前缀的配置选项。
允许在 issues_uri、issues_pr_uri、issues_commit_uri 和
2.0.0 (2022-01-01)
放弃对 Python 2.7 和 3.5 的支持。
针对 Python 3.8 到 3.10 进行测试。
添加 :cwe: 角色以链接到 https://cwe.mitre.org 上的 CVE。感谢 @hugovk 的 PR。
添加对自定义 URL 和分隔符的支持 问题 #93
允许为所有角色指定自定义标题 问题 #116
添加设置 issues_default_group_project 作为 issues_github_path 的未来替代方案,以反映扩展的通用性质
1.2.0 (2018-12-26)
添加 :commit: 角色以链接到提交。
添加对外部仓库的链接支持。
针对 Python 3.7 进行测试。
1.1.0 (2018-09-18)
添加 :cve: 角色以链接到 https://cve.mitre.org 上的 CVE。
1.0.0 (2018-07-14)
添加 :pr: 角色感谢 @jnotham 的建议。
放弃对 Python 3.4 的支持。
0.4.0 (2017-11-25)
如果未设置 issues_uri 或 issues_github_path,则引发 ValueError。感谢 @jnothman 的 PR。
放弃对 Python 2.6 和 3.3 的支持。
0.3.1 (2017-01-16)
setup 返回元数据,防止有关并行读取和写入的警告。感谢 @jfinkels 的报告。
0.3.0 (2016-10-20)
支持 :user: 角色的锚文本。感谢 @jnothman 的建议和感谢 @amueller 的 PR。
0.2.0 (2014-12-22)
添加 :user: 角色以链接到 GitHub 用户个人资料。
0.1.0 (2014-12-21)
初始版本。