GitHub - Sphinx 文档生成器 Expand - Sphinx 文档生成器
logo Sphinx

导航

  • 文档 »
  • 使用 Sphinx »
  • 扩展 »
  • sphinx.ext.extlinks – 缩短外部链接的标记

本页内容

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

基础知识

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

用户指南

  • 使用 Sphinx
    • reStructuredText
    • Markdown
    • 交叉引用
    • 配置
    • 构建器
    • 域
    • 扩展
      • sphinx.ext.apidoc – 从 Python 包生成 API 文档
      • sphinx.ext.autodoc – 从文档字符串中包含文档
      • sphinx.ext.autosectionlabel – 允许通过标题引用章节
      • sphinx.ext.autosummary – 生成 autodoc 摘要
      • sphinx.ext.coverage – 收集文档覆盖率统计信息
      • sphinx.ext.doctest – 测试文档中的代码片段
      • sphinx.ext.duration – 测量 Sphinx 处理的持续时间
      • sphinx.ext.extlinks – 缩短外部链接的标记
      • sphinx.ext.githubpages – 在 GitHub Pages 中发布 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 – 从文档字符串中包含文档
    • sphinx.ext.autosectionlabel – 允许通过标题引用章节
    • sphinx.ext.autosummary – 生成 autodoc 摘要
    • sphinx.ext.coverage – 收集文档覆盖率统计信息
    • sphinx.ext.doctest – 测试文档中的代码片段
    • sphinx.ext.duration – 测量 Sphinx 处理的持续时间
    • sphinx.ext.extlinks – 缩短外部链接的标记
    • sphinx.ext.githubpages – 在 GitHub Pages 中发布 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 的外部链接,例如指向错误跟踪器、版本控制 Web 界面或只是其他网站中的子页面的链接。它通过提供基本 URL 的别名来实现这一点,以便您在创建链接时只需要给出子页面的名称。

假设您想要包含许多指向 Sphinx 跟踪器中问题的链接,地址为 https://github.com/sphinx-doc/sphinx/issues/num。一遍又一遍地输入此 URL 很乏味,因此您可以使用 extlinks 来避免重复自己。

此扩展添加了一个配置值

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

此配置值必须是外部站点的字典,将唯一的短别名名称映射到基本 URL 和标题。 例如,要为上面提到的问题创建别名,您需要添加

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

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

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

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

  • 如果标题是字符串,则它必须正好包含一次 %s。 在这种情况下,链接标题是标题,其中部分 URL 替换为 %s – 在上面的示例中,链接标题将是 issue 123。

要在基本 URL 或标题中生成文字 %,请使用 %%

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

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

在 4.0 版本中更改: 支持在标题中通过“%s”进行替换。

注意

由于链接是在读取阶段从角色生成的,因此它们作为普通链接出现在例如 linkcheck 构建器中。

extlinks_detect_hardcoded_links¶
类型:
bool
默认值:
False

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

在 4.5 版本中添加。

上一页
sphinx.ext.duration – 测量 Sphinx 处理的持续时间
下一页
sphinx.ext.githubpages – 在 GitHub Pages 中发布 HTML 文档
© 版权所有 2007-2025,Sphinx 开发人员。 使用 Sphinx 8.2.0 创建。