• Home
  • Get it
  • Docs
  • Extend
SPHINX

导航

  • 索引
  • 模块 |
  • 下一页 |
  • 上一页 |
  • Sphinx home |
  • Documentation »
  • 使用 Sphinx »
  • 插件 »
  • sphinx.ext.extlinks – Markup to shorten external links

上一个主题

sphinx.ext.duration – Measure durations of Sphinx processing

下一个主题

sphinx.ext.githubpages – Publish HTML docs in GitHub Pages

本页

  • 显示源代码

快速搜索

sphinx.ext.extlinks – Markup to shorten external links¶

模块作者: Georg Brandl

1.0 新版功能.

This extension is meant to help with the common pattern of having many external links that point to URLs on one and the same site, e.g. links to bug trackers, version control web interfaces, or simply subpages in other websites. It does so by providing aliases to base URLs, so that you only need to give the subpage name when creating a link.

Let’s assume that you want to include many links to issues at the Sphinx tracker, at https://github.com/sphinx-doc/sphinx/issues/num. Typing this URL again and again is tedious, so you can use extlinks to avoid repeating yourself.

The extension adds a config value:

extlinks¶

This config value must be a dictionary of external sites, mapping unique short alias names to a base URL and a caption. For example, to create an alias for the above mentioned issues, you would add

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

Now, you can use the alias name as a new role, e.g. :issue:`123`. This then inserts a link to https://github.com/sphinx-doc/sphinx/issues/123. As you can see, the target given in the role is substituted in the base URL in the place of %s.

The link caption depends on the second item in the tuple, the caption:

  • If caption is None, the link caption is the full URL.

  • If caption is a string, then it must contain %s exactly once. In this case the link caption is caption with the partial URL substituted for %s – in the above example, the link caption would be issue 123.

To produce a literal % in either base URL or caption, use %%:

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

You can also use the usual “explicit title” syntax supported by other roles that generate links, i.e. :issue:`this issue <123>`. In this case, the caption is not relevant.

在 4.0 版更改: Support to substitute by ‘%s’ in the caption.

注解

Since links are generated from the role in the reading stage, they appear as ordinary links to e.g. the linkcheck builder.

导航

  • 索引
  • 模块 |
  • 下一页 |
  • 上一页 |
  • Sphinx home |
  • Documentation »
  • 使用 Sphinx »
  • 插件 »
  • sphinx.ext.extlinks – Markup to shorten external links
© 版权所有 2007-2021, Georg Brandl and the Sphinx team. Created using Sphinx 4.2.0.