GitHub Expand
logo Sphinx

导航

  • Documentation »
  • 使用 Sphinx »
  • 扩展 »
  • sphinx.ext.extlinks -- 标记以缩短外部链接

On this page

  • sphinx.ext.extlinks -- 标记以缩短外部链接
    • extlinks
    • extlinks_detect_hardcoded_links

基础知识

  • 安装Sphinx
  • 开始
  • 构建你的第一个项目

用户指南

  • 使用 Sphinx
    • reStructuredText
    • Markdown
    • 交叉引用
    • 配置
    • 构建器
    • 域
    • 扩展
      • sphinx.ext.apidoc -- 利用 Python 包产生 API 文档
      • sphinx.ext.autodoc -- 纳入来自docstrings的文档
      • sphinx.ext.autosectionlabel -- 通过标题引用章节
      • sphinx.ext.autosummary -- 生成 autodoc 摘要
      • sphinx.ext.coverage -- 收集文档覆盖率统计信息
      • sphinx.ext.doctest -- 文档中的测试片段
      • sphinx.ext.duration -- 测量Sphinx处理持续的时间
      • sphinx.ext.extlinks -- 标记以缩短外部链接
      • sphinx.ext.githubpages -- 在GitHub页面中发布HTML文档
      • sphinx.ext.graphviz -- 添加Graphviz图
      • sphinx.ext.ifconfig -- 根据配置包含内容
      • sphinx.ext.imgconverter -- 使用Imagemagick的参考图像转换器
      • sphinx.ext.inheritance_diagram -- 包含继承关系图
      • sphinx.ext.intersphinx -- 链接到其他文档
      • sphinx.ext.linkcode -- 向源代码添加外部链接
      • Sphinx中HTML输出的数学支持
      • sphinx.ext.napoleon -- 支持NumPy和Google风格的文档字符串
      • sphinx.ext.todo -- 支持todo项
      • sphinx.ext.viewcode -- 添加指向突出显示的源代码的链接
    • HTML主题
    • 国际化
    • Sphinx Web支持
  • 扩展 Sphinx
  • Sphinx API接口
  • LaTeX个性化

社区

  • 获取支持
  • 向Sphinx做贡献
  • Sphinx常见问题解答
  • Sphinx 作者

参考

  • 命令行工具
  • 配置
  • 扩展
    • sphinx.ext.apidoc -- 利用 Python 包产生 API 文档
    • sphinx.ext.autodoc -- 纳入来自docstrings的文档
    • sphinx.ext.autosectionlabel -- 通过标题引用章节
    • sphinx.ext.autosummary -- 生成 autodoc 摘要
    • sphinx.ext.coverage -- 收集文档覆盖率统计信息
    • sphinx.ext.doctest -- 文档中的测试片段
    • sphinx.ext.duration -- 测量Sphinx处理持续的时间
    • sphinx.ext.extlinks -- 标记以缩短外部链接
    • sphinx.ext.githubpages -- 在GitHub页面中发布HTML文档
    • sphinx.ext.graphviz -- 添加Graphviz图
    • sphinx.ext.ifconfig -- 根据配置包含内容
    • sphinx.ext.imgconverter -- 使用Imagemagick的参考图像转换器
    • sphinx.ext.inheritance_diagram -- 包含继承关系图
    • sphinx.ext.intersphinx -- 链接到其他文档
    • sphinx.ext.linkcode -- 向源代码添加外部链接
    • Sphinx中HTML输出的数学支持
    • sphinx.ext.napoleon -- 支持NumPy和Google风格的文档字符串
    • sphinx.ext.todo -- 支持todo项
    • sphinx.ext.viewcode -- 添加指向突出显示的源代码的链接
  • reStructuredText
  • 术语表
  • 更新日志
  • 使用Sphinx的项目

sphinx.ext.extlinks -- 标记以缩短外部链接¶

模块作者: Georg Brandl

在 1.0 版本加入.

此扩展旨在帮助实现一种常见模式,即有许多指向同一站点上url的外部链接,例如指向bug追踪器、版本控制web界面的链接,或者只是其他网站中的子页面的链接。它通过为基本url提供别名来实现这一点,因此您只需要在创建链接时提供子页面名称。

假设您希望在Sphinx tracker上包含许多指向问题的链接,地址 https://github.com/sphinx-doc/sphinx/issues/num 。一次又一次地键入此URL是很乏味的,因此可以使用 extlinks 为了避免重复。

该插件添加了一个配置值:

extlinks¶
类型:
dict[str, tuple[str, str | None]]
默认:
{}

此配置值必须是外部站点的字典,将唯一的简短别名映射到 base URL 和 caption 。例如,

extlinks = {'issue': ('https://github.com/sphinx-doc/sphinx/issues/%s',
                      'issue %s')}

现在,你可以使用别名做为一个新角色,例如 :issue:`123` 。这将插入一个指向 https://github.com/sphinx-doc/sphinx/issues/123 的链接。正如你所看到的,角色中给出的目标被替换为 基本URL 中的 %s 。

链接标题取决于元组中的第二个项目,即 caption :

  • 如果 caption 是 None ,则链接标题为完整的URL。

  • 如果 caption 是一个字符串,则它必须恰好包含一次 %s 。在这种情况下,链接标题是用部分URL替换 %s 的 caption -- 在上面的例子中,链接标题将是 issue 123 。

要在 base URL 或 caption 中生成文字 % ,请使用 %%:

extlinks = {'KnR': ('https://example.org/K%%26R/page/%s',
                      '[K&R; page %s]')}

您还可以使用其他生成链接的角色支持的常规“显式标题”语法,即 :issue:`this issue <123>` 。在这种情况下,caption 不相关。

在 4.0 版本发生变更: 支持在标题中用 '%s' 进行替换。

备注

由于链接是从阅读阶段的角色生成的,因此它们看起来像是普通链接,例如 linkcheck 构建器。

extlinks_detect_hardcoded_links¶
类型:
bool
默认:
False

如果启用,extlinks会发出警告,如果硬编码的链接可以被extlink替换,并通过警告建议替换。

在 4.5 版本加入.

Previous
sphinx.ext.duration -- 测量Sphinx处理持续的时间
Next
sphinx.ext.githubpages -- 在GitHub页面中发布HTML文档
© 版权所有 2007-2026, the Sphinx developers. 由 Sphinx 9.1.1+/c1b618c55创建。