在 Sphinx 中的文件链接中使用版本号

2024-02-19

在 Sphinx 中,可以使用以下语法生成文件链接:

`name_of_file.js <some/location/name_of_file.js>`_

在conf.py文件中,version定义了我们可以在 .rst 文件中使用的变量,如下所示:

|version|

不允许使用该语法将版本包含到文件链接中:

`name_of_file.|version|.min.js <some/location/name_of_file.|version|.min.js>`_

那么,我如何生成名为类似的文件的链接name_of_file.<version_num>.min.js并使用conf.py中的版本号?


我需要类似的东西,经过多次实验,我找到了解决方法。请注意,这是一个糟糕的解决方案,但它确实有效。

简短的回答:

您需要将链接部分拆分为 |version| 的左侧和右侧并使用原始 html 以及|version|。你的 .rst 看起来像这样:

Example of a link with version in it |link-pre|\ |version|\ |link-post|

.. |link-pre| raw:: html

    <a href="some/location/name_of_file.

.. |link-post| raw:: html

    .min.js">name_of_file.min.js</a>

长答案

我们需要克服几个障碍:

问题一: 现在,|version|本质上是一个替代定义 http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#substitution-definitions。当您使用替代参考 http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#substitution-references在你的文档中,它必须以space像这样|version|.

所以即使在一个常规的 rsT 句子中,这不是一个链接,你也不能这样做name_of_file.|version|.min.js。你需要做name_of_file.\ |version|.min.js,即逃避space with a \

问题 2:reST 中不支持嵌套内联标记:http://docutils.sourceforge.net/FAQ.html#is-nested-inline-markup-possible http://docutils.sourceforge.net/FAQ.html#is-nested-inline-markup-possible

所以你无法替代,|version|, 在链接内\`name_of_file.|version|.min.js`\。这就是为什么我们必须使用 raw-html 并将其分成几部分,并且我们创建了另外 2 个替换定义|link-pre| and |link-post|,它将在生成的输出中替换为其 raw-html。

我尝试使用内联:raw-html: role http://docutils.sourceforge.net/docs/ref/rst/roles.html#raw但这并没有帮助,所以不幸的是,解决方案结果很冗长。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Sphinx 中的文件链接中使用版本号 的相关文章

  • 如何在每个页面的侧边栏中包含目录树

    我正在 Sphinx 中生成 html 文档 如何修改文档中每个 html 页面的侧边栏 以便它们包含目录树 默认情况下 目录树似乎只显示在master doc页面 并且仅在主区域而不是侧边栏 是否有捷径可寻 我将使用 readthedoc
  • 如何强制Sphinx使用Python 3.x解释器

    我尝试为使用 Python 3 x 编写的项目创建文档 Sphinx http sphinx pocoo org index html is the我想使用的工具 并且根据官方网站 http sphinx pocoo org changes
  • 如何在 RST/阅读文档的代码块中添加复制按钮

    我一直在编写个人 操作方法 指南 记录并保留我的学习日记 我现在有一个几乎太长的代码块 当我自己遇到这么长的代码时 试图仅突出显示该代码块而不突出显示整个页面 或者还不够 总是令人沮丧 所以 我的问题是 对于rst 重构文本 code bl
  • 如何使 Sphinx 尊重使用 __init__.py 将类导入到包中

    我有一个包裹 foo foo py bar py init py foo py 有一个 Foo 类 在 init py 中 我导入了 Foo 类 以便用户可以执行以下操作 from foo import Foo Sphinx 正确地将 Fo
  • 如何使用同一个 R 包的多个版本?

    为了能够比较包的两个版本 我需要能够选择加载哪个版本的包 R 的包系统默认设置为覆盖现有包 以便您始终拥有最新版本 我该如何覆盖这种行为 到目前为止我的想法是 我可以获取包源 编辑描述以给出不同的名称 并实际上构建两个不同的包 不过 我宁愿
  • 在项目之间共享自定义 PHP 代码的最佳方式

    我正在开发一个分布式环境 主要是使用 PHP 我的很多项目共享一些相同的代码 例如我的日志代码 基于 log4php 但添加了一些自定义内容 我可以在每个项目中复制粘贴此代码 但自然地 如果我更改其中的任何内容 我需要将其重新粘贴到各处并
  • 如何使用脚本更改 Xcode 11 中的构建设置版本控制?

    由于 Xcode 11 已将版本更改为 MARKETING VERSION 并将构建更改为 CURRENT PROJECT VERSION 构建设置中有新字段 由于以下原因 我如何使用脚本更改此值 xcrun agvtool new ver
  • Sphinx 文档中使用全局变量标准化链接

    我正在使用 Sphinx 来记录工作项目 我想在整个文档的多个页面上使用指向下载的相同链接 例如 home rst Hi I want you to download my project download blah com downloa
  • Sphinx 文档中人类可读的迭代

    Sphinx autodoc 扁平化字典 列表和元组 使得长的几乎难以阅读 漂亮的打印格式也并不总是需要的 因为一些嵌套容器最好保持扁平化而不是列化 有没有办法显示可迭代对象as typed在源代码中 直接从源获取它 并添加一个 rst其命
  • 使 viewcode 显示模块源

    我正在尝试使用 Sphinx 用一些 Python 片段制作一本食谱 每个片段都是一个独立的 Python 脚本 并且有一个教程类型的文档 我希望在生成的文档中有一个源链接来显示脚本内容 但viewcode https www sphinx
  • Python 文档的 reStructuredText 有真正的替代品吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我很快就要开始一个开源 Python 项目 并且我试图提前决定如何编写我的文档字符串 显而易见的答案是
  • Web 服务版本控制策略的优缺点

    更新20100224 我真的不需要某些供应商网站上的一些蹩脚定义 我正在寻找的是实际实施以及实际实施这些东西的人们在日常 IT 业务周期中面临的挑战 更多内容如下 尚未制定 采用任何退休策略 显然需要制定一项策略 我对您如何制定该战略并将其
  • 摆脱 Sphinx 中的“重复标签”警告

    在 Sphinx 中 我收到大量警告 例如 PATH FILENAME LINE WARNING duplicate label LABELNAME other instance in PATH FILENAME 似乎将所有节标题视为 标签
  • 在 Sphinx 中的引用中保留内联代码

    在 Sphinx 中 如果我有以下标题声明 somestuff this is code this is not 它呈现如下 this is code 这不是 这很好 但是 如果我使用参考 例如 Have a look at ref som
  • 如何处理 ReST 中的两个破折号

    我正在使用 Sphinx 来记录用 Python 编写的命令行实用程序 我希望能够记录命令行选项 例如 region像这样 region
  • 用于将一个文档包含到另一个文档中的 sphinx 指令是什么?

    在我的文档中我有一个examples我可以说的目录 literalinclude examples 1 basic usage py language python linenos 效果很好 因为它们是代码 并且它们的格式正确为代码 但是
  • 如何设置管理员批准模型的编辑

    我需要一个普通用户可以编辑模型的系统 但编辑实际上只有在管理员批准后才会发生 我发现了一颗宝石 叫做纸迹 https github com airblade paper trail它确实有模型版本控制 但不具体支持我想要做的事情 我想知道其
  • 如何收集 Sphinx 中的所有外部链接?

    我必须在手册中放入一些外部链接 并且希望在 部分甚至整本书的末尾 不重要 列出所有链接 而无需手动重复它们 我怎样才能做到这一点 这是带有参考书目的文档的摘录 呈现的版本是here http packages python org pyte
  • 确定我的 Silverlight 应用程序的版本

    我正在尝试确定 Silverlight 应用程序的版本号 目前我正在使用 string name Assembly GetExecutingAssembly FullName AssemblyName asmName new Assembl
  • 在 Sphinx 文档中*仅*显示文档字符串?

    Sphinx有一个功能叫做automethod从方法的文档字符串中提取文档并将其嵌入到文档中 但它不仅嵌入了文档字符串 还嵌入了方法签名 名称 参数 我如何嵌入only文档字符串 不包括方法签名 ref http www sphinx do

随机推荐

  • PrimeFaces:如何覆盖 CSS 类

    创建按钮时 该类ui corner all始终适用 我尝试了以下方法
  • Rail 3.2.2/Devise:带有 rspec 的弃用警告

    我最近将一个应用程序升级到了 Rails 3 2 2 我正在使用 Factory girl Factory sequence name do n 名称 n 结束 Factory define 用户做 u u first name Facto
  • 詹金斯:无法连接到存储库

    我正在尝试在 github 存储库上连接 jenkins 当我指定 Repo URL 时 jenkins 返回以下错误消息 无法连接到存储库 命令 git ls remote h 电子邮件受保护 cdn cgi l email protec
  • 从 JavaScript 正确调用 TypeScript 代码

    在我们的大型企业项目中 我们面临的情况似乎在互联网上的文章和帖子中没有得到很好的描述 我们需要将支持 SPA 的现有 JavaScript 基础设施代码与其他团队在 TypeScript 上开发的代码集成起来 由于许多政治限制和可用的开发资
  • 如何在 JSON 对象中添加 URL 字符串

    我需要添加通常采用 http somewebsite com somepage asp 格式的 URL 当我使用上面的 URL 创建一个字符串并将其添加到 JSON 对象 json 时 using json put url urlstrin
  • JPanel 不会完全伸展以占据可用空间

    我有一个面板 我在其中并排放置了几个具有不同尺寸和颜色的迷你面板 它们应该占据整个父面板 水平 为此 我使用 BorderLayout 用于父面板 并使用 BoxLayout 作为放置所有迷你面板的子面板 请参见下面的代码 它在调整大小和其
  • 阻止 chrome 在拖动链接时将光标更改为地球仪

    我有一个标准链接 例如 a href test Test a 在 Chrome 中 单击并拖动此链接将导致光标变为拖动地球仪的箭头 地球仪可以放在 URL 或书签栏上 我正在尝试用 JavaScript 实现拖放文件系统界面 所有文件和文件
  • 何时使用 $sanitize 和 $sce ?他们之间有什么区别?

    我试图了解属性之间的区别 请帮忙举出实际例子 何时使用它们 在这个论坛里找不到这样的问题 请帮帮我 sce是实际选择字符串是否可以安全使用以及是否应该对其进行清理的服务 如果是 HTML 则运行 sanitize如果有的话 你可能永远不需要
  • Perl 子例程参数

    我最近一直在阅读有关 Perl 的内容 并且对 Perl 如何处理传递给子例程的参数感到有点困惑 在 Python Java 或 PHP 等语言中 函数定义采用以下形式 伪代码 function myFunc arg1 arg2 Do so
  • 使用 Python 创建新的 Access 数据库和表

    我正在尝试用 Python 创建一个 Access 数据库并向其中添加两个新表 我正在使用 win32com 并已成功创建数据库 但无法创建表 我得到的只是无益的 Windows 错误 谁能帮我 下面的代码工作正常 dbname r C U
  • 如何在运行时获取过程或函数名称?

    有没有any返回函数或过程名称的方法在运行时 我目前正在错误处理这样的事情 Sub foo Const proc name as string foo On Error GoTo ErrHandler do stuff ExitSub Ex
  • WordPress 计数小部件

    您好 我想弄清楚如何获得在给定侧边栏位置发布的小部件的数量 例如 我有一个名为 UTILITY 的侧边栏 它是一个水平侧边栏 我希望这些小部件位置的宽度根据其中发布的小部件的数量进行均匀调整 我想知道在给定页面上此侧边栏中发布了多少个小部件
  • 别名使 emacs 在新缓冲区(不是框架)中打开文件并被激活/来到前面?

    到目前为止我所拥有的是 alias em open a Applications Emacs app osascript e tell application Emacs app to activate 但我很困惑 使用该代码 em fil
  • 在 Jar 中查找实现接口的类

    我想知道 jar 内的类是否实现了特定的接口 我已经实现了下面的代码 但它会迭代 jar 文件中的所有类 并在每个类上查找它是否实现了这个特定的接口 public static synchronized boolean findClasse
  • 表单action="/"是什么意思? [复制]

    这个问题在这里已经有答案了 表单的操作通常是指提交后运行的脚本 我看到一个代码form action 我无法找到它的去向 有人请给我解释一下 它转到基本目录的索引
  • NTLM授权WCF在ASP.NET Core中不起作用

    我遇到 NTLM 授权问题 我有一个在asp net上运行没有任何问题的服务 但现在我需要在asp net core上使用这个服务 但我无法通过授权 我这样配置绑定 var binding new BasicHttpBinding Basi
  • 使用 设置日期格式并将其显示在

    我想在 h outputText 中显示类似 2010 10 20 by Mary 的内容 日期值存储在 MBean 的名为 date1 的字段内 而用户名存储在 MBean 的名为 username 的字段内 我使用以下 EL 表达式和
  • C# 中 var 和 string 有什么区别? [复制]

    这个问题在这里已经有答案了 有什么区别var and string in C 关键词var用于隐式类型的声明 如果您使用变量的命名类型 那么除了可读性之外没有其他区别 并且对于哪种更好有不同的意见 例子 var s asdf 给出与以下完全
  • MCP23017 I2C 设备驱动程序探测函数未调用

    我正在使用以下 I2C GPIO设备驱动 https github com torvalds linux blob master drivers gpio gpio mcp23s08 c访问 MCP23017 GPIO 使用 insmod
  • 在 Sphinx 中的文件链接中使用版本号

    在 Sphinx 中 可以使用以下语法生成文件链接 name of file js