狮身人面像通常会增量生成文档,这意味着只有已更改的文件才会重新生成。我想知道是否有办法告诉狮身人面像总是重新生成某些文件,这些文件可能并未直接更改,但会受到其他文件更改的影响。更具体一点:有没有办法告诉Sphinx总是重新生成包含某个指令的文件?我正在处理的文档依赖于通过指令相当频繁地从其他页面收集和重新格式化信息的可能性。干净(make clean && make [html]
)和/或完整(sphinx-build -a
)构建比增量构建花费的时间要长得多。此外,手动跟踪包含该指令的文件可能会很复杂。该文档由10多位撰写Sphinx文档的经验不足的作者撰写。始终重新生成包含特定指令的狮身人面像文件
但即使是在不太复杂的情况下,您可能会面对这个“问题”: 例如sphinx.ext.todo含有一种叫todolist
指令,它收集待办事项从整个文档。如果我从我的文档(基本上只包含todolist
指令的空文档)创建一个包含所有待办事项的文件,则在我进行清理构建或更改文件之前,列表不会更新。
如果你想测试它自己:与sphinx-quickstart
创建一个文档,并坚持为默认值,除了
'> todo: write "todo" entries that can be shown or hidden on build (y/n) [n]: y'
在source
称为todos.rst
从index.rst
添加文件和参考文件。在index.rst
的
内容:中todos.rst
Welcome to sphinx-todo's documentation!
=======================================
.. toctree::
:maxdepth: 2
todos
.. todo::
I have to do this
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
内容:
.. _`todos`:
List of ToDos
=============
.. todolist::
假设你使用html
输出,你会发现,当你添加待办事项到index.html
todos.html
不会改变。
TL;博士:如何 - 如果可能的话 - 我包括含有特定指令(例如todolist
)为增量构建狮身人面像,而无需手动跟踪他们的文件?
谢谢你的回答。您的回答支持我目前的印象,即您必须创建所有内容或直接指定要重建的文件。我希望为指令/文件或一些最佳实践预处理(例如before-build-hook)提供一个整洁的隐藏的“白名单”关键字,但似乎并不存在。 – aleneum