使用Sphinx / Jinja中的标签/关键字来创建一个页面,该页面包含指向包含该标签/关键字的所有其他页面的链接列表

时间:2018-10-23 00:10:06

标签: python jinja2 python-sphinx

好的,我想应该在一个明显的地方对此进行解释,但是我搜索并没有发现任何问题(而且我总是为我以前的999个问题找到了答案,因此通常我也不擅长搜索)。

基本上,我正在为我的物理产品Foomaster制作一本手册。该手册包含有关Foomaster的一系列信息(单个.rst文件),这些信息是通过Foomaster上的物理位置进行组织的(使用index.rst中的toctree和其他.rst子结构文件)。其中一些页面是服务程序,一些是安全警告,一些是常规信息。

现在,我想创建一个单独的页面,monthly_service.rst,其中列出了描述应每月检查的服务程序的所有页面(.rst文件)。如果将“目标”页面移至该月度程序列表,则该列表不会被破坏(即,它会根据标签的添加找到第一个位置,然后创建指向该位置的链接)。例如,使用伪代码:


change_foobulb.rst

.. tag:: monthly_maintenance

(description of how to change foobulb)

clean_footank.rst

.. tag:: monthly_maintenance

(description of how to clean footank)

monthly_service.rst

Make sure the following procedures are followed at least monthly:

.. maketocusing::
   tags: monthly_maintenance

很抱歉,如果已经在某处进行了解释...我在.. index ::指令上找到了解释,这导致我尝试添加:

.. index::
   single: monthly

到每个change_foobulb和clean_footank rst文件。这样做的结果是在索引(在“ M”下)的“每月,[1]”中添加了一个条目,并带有指向两个页面的链接-即它们被视为重复的索引条目,因为我想这是目的。索引指令。由于它没有显示每个月程序的名称(例如toctree,并在单独的“ monthly.rst”页面中显示),因此对我的情况没有帮助。

我还发现有人创建了一个自定义.. tag ::指令,但是据我了解,这不是用来动态生成这样的链接列表的-我认为它是用来决定构建时要包括哪些页面的使用make.bat时的HTML。

我想可能需要一些Jinja解决方案,但是我对Jina的了解并不强...在此先感谢您的帮助!

0 个答案:

没有答案