跳转到主要内容

Sphinx扩展,用于链接到您项目的issue跟踪器

项目描述

PyPI badge Build status

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_uriissues_pr_uriissues_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)

1.0.0 (2018-07-14)

  • 添加 :pr: 角色感谢 @jnotham 的建议。

  • 放弃对 Python 3.4 的支持。

0.4.0 (2017-11-25)

  • 如果未设置 issues_uriissues_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)

  • 初始版本。

项目详情


下载文件

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

源代码分发

sphinx_issues-4.1.0.tar.gz (14.1 kB 查看哈希值)

上传时间 源代码

构建分发

sphinx_issues-4.1.0-py3-none-any.whl (8.2 kB 查看哈希值)

上传时间 Python 3

支持