Sphinx与不同问题跟踪器的集成
项目描述
sphinx-autoissues
·

https://sphinx-autoissues.git-pull.com/
这是从Sebastian Wiesner lunaryorn@gmail.com的出色sphinxcontrib-issuetracker插件分支出来的。
一个Sphinx扩展,用于在问题跟踪器中引用问题,无论是显式使用“issue”角色,还是可选地隐式地通过问题ID,如文本中的#10
。
当前支持的issue tracker有: GitHub
提供简单的API以支持其他issue tracker。如果您添加了对新的tracker的支持,请考虑发送补丁以便您的作品可供其他扩展用户使用。
与sphinx-issuetracker相比,有哪些变化?
旧代码库的大部分提交来自2010-2012年。那时,质量无可挑剔,但在工具方面发生了许多变化。
我们已整合了来自git-pull项目(如tmuxp / libvcs / cihai)的python工具集:mypy、black、isort、pytest、带有doctests的markdown文档、github工作流等。此外
-
默认禁用通过GitHub进行标题解析(以避免速率限制)
通过设置
issuetracker_resolve_issues = True
来重新启用 -
移除除GitHub以外的跟踪器
-
通过
pyupgrade
和手动移除支持Python 2.x- 兼容导入,
__future__
语句
- 兼容导入,
-
Poetry
-
最小Python版本3.7
-
更新到最新的sphinx(从1.1)
- 导入更改
- 请参阅sphinx弃用
-
更新到最新的pytest(从2.2)
- 移除在pytest 7+中无法工作的
funcargs
和标记使用 - 请参阅pytest弃用
- 移除在pytest 7+中无法工作的
安装
此扩展可以从Python包索引安装
$ pip install sphinx-autoissues
此扩展需要Sphinx 1.1和Python 2.6或Python 3.1。
使用
只需将此扩展添加到extensions
,并配置您的issue tracker
extensions = ['sphinx_autoissues']
issuetracker = 'github'
issuetracker_project = 'tony/sphinx-autoissues'
现在,将像#10
这样的issue引用替换为指向此扩展的issue tracker的链接,除非引用出现在像内联字面量或代码块这样的字面文本中。
您可以通过设置issuetracker_plaintext_issues
为False
来禁用此魔法行为
issuetracker_plaintext_issues = False
现在,文本引用不再被替换。然而,您仍然可以使用issue
角色显式引用issue。
有关更多详细信息,请参阅文档。
支持
如果您遇到问题,或在扩展中发现了错误,或缺乏对特定issue tracker的支持,请向issue tracker报告问题,但请遵守以下规则
- 检查问题是否已被报告。
- 检查问题是否已在
master
分支中修复。 - 以语法正确、完整的句子,打开具有明确标题和详细描述的问题。
开发
源代码托管在Github
$ git clone https://github.com/tony/sphinx-autoissues
请在仓库上进行分叉,并发送包含修复或酷炫新功能的pull请求,但请遵守以下规则
- 阅读如何在GitHub上正确贡献开源项目。
- 如果需要,请使用主题分支来轻松修正pull请求。
- 编写好的提交信息。
- 在打开pull请求之前,在主题分支上合并提交。
- 尊重
8
(使用pep8来检查您的编码风格合规性) - 添加单元测试
- 以与单一主题相关的清晰标题和描述,在语法正确、完整的句子中打开一个pull request。