2024-06-02 05:04:18 发布
网友
使用Sphinx生成文档时,我希望能够生成两个版本的文档:一个包含所有内容,另一个仅包含一组特定页面。最好的方法是什么?
我可以编写一个构建脚本来移动文件来实现这一点,但如果有一种方法可以告诉sphinx在特定构建期间排除或包含特定文档,那就太好了。
^{}和^{}指令可用于在页内应用条件。
似乎没有任何简单的方法可以使用条件完全排除整个页面(.rst文件)。
在生成html输出时,以下内容(在index.rst中)排除了对index.html中目录树中doc2.html的引用:
.. toctree:: doc1.rst .. only:: latex .. toctree:: doc2.rst
但这并不真的管用。doc2.html文件仍然生成,当doc1.html是当前主题时,可以通过“下一个主题”链接访问该文件。
也许我的答案来得有点晚,但我设法通过exclude patterns in the config file与狮身人面像做到了这一点。
我的文档一部分是给用户的,一部分是给管理员的。 有些页面的文件名包含单词admin,和您一样,我希望构建两个版本:一个包含所有内容(管理文档),另一个不包含所有“管理”页面(用户文档)。
admin
要排除所有子文件夹中的所有“管理”页,必须将此行添加到配置文件conf.py:
conf.py
exclude_patterns = ['**/*admin*']
那是容易的部分。
我的问题是,我不知道如何运行两次构建,一次使用排除模式,一次不使用两个不同的配置文件。
我自己没有找到解决办法,所以我asked a question here on SO得到了an answer:
所以我的配置文件中有这个排除模式:
exclude_patterns = ['**/*admin*'] if tags.has('adminmode'): exclude_patterns = []
现在,我可以在不传递任何内容的情况下运行生成,这将排除“admin”文件:
make clean make html
?这是我的用户文档
…我可以设置“adminmode”标记,它不会排除任何内容:(Windows命令行语法)
set SPHINXOPTS=-t adminmode make clean make html
这是我的管理文档。
奖金:
我可以使用相同的标记通过Including content based on tags忽略页面上的某些特定内容。
示例:
regular documentation ===================== This paragraph and its headline will always be visible. .. only:: adminmode secret admin stuff ------------------ This paragraph will be visible in the admin docs only. This will (again) always be visible.
sphinx.ext.ifconfig怎么样?在conf.py文件中设置配置值。由于这是一个普通的Python文件,如果需要的话,可以使包含条件智能化和自动化。
^{} 和^{} 指令可用于在页内应用条件。
似乎没有任何简单的方法可以使用条件完全排除整个页面(.rst文件)。
在生成html输出时,以下内容(在index.rst中)排除了对index.html中目录树中doc2.html的引用:
但这并不真的管用。doc2.html文件仍然生成,当doc1.html是当前主题时,可以通过“下一个主题”链接访问该文件。
也许我的答案来得有点晚,但我设法通过exclude patterns in the config file与狮身人面像做到了这一点。
我的文档一部分是给用户的,一部分是给管理员的。
有些页面的文件名包含单词
admin
,和您一样,我希望构建两个版本:一个包含所有内容(管理文档),另一个不包含所有“管理”页面(用户文档)。要排除所有子文件夹中的所有“管理”页,必须将此行添加到配置文件
conf.py
:那是容易的部分。
我的问题是,我不知道如何运行两次构建,一次使用排除模式,一次不使用两个不同的配置文件。
我自己没有找到解决办法,所以我asked a question here on SO得到了an answer:
所以我的配置文件中有这个排除模式:
现在,我可以在不传递任何内容的情况下运行生成,这将排除“admin”文件:
?这是我的用户文档
…我可以设置“adminmode”标记,它不会排除任何内容:
(Windows命令行语法)
这是我的管理文档。
奖金:
我可以使用相同的标记通过Including content based on tags忽略页面上的某些特定内容。
示例:
sphinx.ext.ifconfig怎么样?在
conf.py
文件中设置配置值。由于这是一个普通的Python文件,如果需要的话,可以使包含条件智能化和自动化。相关问题 更多 >
编程相关推荐