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.autodoc – 从文档字符串中包含文档
      • sphinx.ext.autosectionlabel – 允许使用标题引用章节
      • sphinx.ext.autosummary – 生成自动文档摘要
      • 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 – 待办事项支持
      • sphinx.ext.viewcode – 添加链接到高亮的源代码
    • HTML 主题
    • 国际化
    • Sphinx网页支持
  • 扩展 Sphinx
  • Sphinx API
  • LaTeX自定义

社区

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

参考

  • 命令行工具
  • 配置
  • 扩展
    • 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 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 – 待办事项支持
    • sphinx.ext.viewcode – 添加链接到高亮的源代码
  • reStructuredText
  • 术语表
  • 变更日志
  • 项目使用 Sphinx

sphinx.ext.extlinks – 用于缩短外部链接的标记¶

模块作者: Georg Brandl

Added in version 1.0.

这个扩展旨在帮助处理常见模式,即有许多外部链接指向同一个网站上的URL,例如指向错误追踪器、版本控制网页接口或其他网站中的子页面.它通过提供基本URL的别名来实现这一点,因此在创建链接时只需提供子页面名称.

假设您想在 Sphinx 追踪器中包含许多指向问题的链接,格式为 https://github.com/sphinx-doc/sphinx/issues/num .反复输入这个 URL 是很麻烦的,因此您可以使用 extlinks 来避免重复.

该扩展添加了一个配置值:

extlinks¶

此配置值必须是一个外部站点的字典,将唯一的短别名映射到 基础 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 .

链接标题依赖于元组中的第二个项,即 caption:

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

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

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

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

您也可以使用其他生成链接的角色支持的常规”显式标题”语法,即``:issue:此问题 <123>``` .在这种情况下,*标题*是不相关的.

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

备注

由于链接是在阅读阶段根据角色生成的,因此它们在例如 linkcheck 构建器中呈现为普通链接.

extlinks_detect_hardcoded_links¶

如果启用,当硬编码链接可以被外部链接替代时,extlinks会发出警告,并通过警告建议替代方案. 默认值为 False .

Added in version 4.5.

Previous
sphinx.ext.duration – 测量 Sphinx 处理的持续时间
Next
sphinx.ext.githubpages – 在 GitHub Pages 上发布 HTML 文档
© 版权所有 2007-2024, the Sphinx developers. 由 Sphinx 8.1.0+/1852d0f08创建。