GitHub Expand
logo Sphinx

导航

  • Documentation »
  • 使用Sphinx »
  • 延拓 »
  • sphinx.ext.extlinks --缩短外部链接的标记

On this page

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

基础知识

  • 安装Sphinx
  • 入门
  • 构建您的第一个项目

用户指南

  • 使用Sphinx
    • 重新构造文本
    • Markdown
    • 交叉引用
    • 配置
    • 构建器
    • 域
    • 延拓
      • sphinx.ext.apidoc --从Python包生成API文档
      • sphinx.ext.autodoc --包括文档字符串中的文档
      • sphinx.ext.autosectionlabel --允许通过标题引用部分
      • sphinx.ext.autosummary --生成自动文档摘要
      • 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 --支持待办事项
      • sphinx.ext.viewcode --添加指向突出显示的源代码的链接
    • HTML主题
    • 国际化
    • Sphinx Web支持
  • 扩展Sphinx
  • SphinxAPI
  • Latex 定制

社区

  • 获得支持
  • 为Sphinx做贡献
  • Sphinx常见问题解答
  • Sphinx作家

参考

  • 命令行工具
  • 配置
  • 延拓
    • sphinx.ext.apidoc --从Python包生成API文档
    • sphinx.ext.autodoc --包括文档字符串中的文档
    • sphinx.ext.autosectionlabel --允许通过标题引用部分
    • sphinx.ext.autosummary --生成自动文档摘要
    • 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 --支持待办事项
    • sphinx.ext.viewcode --添加指向突出显示的源代码的链接
  • 重新构造文本
  • 术语表
  • Changelog
  • 使用Sphinx的项目

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

模块作者: Georg Brandl

Added in version 1.0.

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

假设您希望在Sphinx跟踪器上包含许多指向问题的链接,地址为 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.的链接如您所见,角色中给出的目标被替换为 *base URL* 代替…… ``%s` 。

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

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

  • 如果 caption 是一个字符串,则它必须包含 %s 只有一次。在本例中,链接标题为 caption 将部分URL替换为 %s --在上面的示例中,链接标题为 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

如果启用,如果硬编码链接可由extlink替换,则extlink会发出警告,并通过警告建议进行替换。

Added in version 4.5.

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