Использование тегов / ключевых слов в Sphinx / Jinja для создания страницы, содержащей список ссылок на все другие страницы, содержащие указанный тег / ключевое слово - PullRequest
0 голосов
/ 23 октября 2018

ОК, я чувствую, что это должно быть объяснено в каком-то очевидном месте, но я искал и ничего не нашел (и я всегда находил ответ на свои предыдущие 999 проблем, так что обычно я не плох в поиске).

По сути, я делаю руководство для моего физического продукта, Foomaster.Руководство содержит ряд информации (отдельные файлы .rst) на Foomaster, которые упорядочены (используя toctree в index.rst и других файлах подструктуры .rst) по физическому расположению на Foomaster.Некоторые из этих страниц являются служебными процедурами, некоторые - предупреждениями по безопасности, некоторые - общей информацией.

Теперь я хотел бы создать отдельную страницу, month_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.Результатом этого стало добавление в индекс (под «M») записи «ежемесячно, [1]» со ссылками на обе страницы - т.е. они рассматривались как дублированные записи индекса, как я полагаю, является цельюдиректива индекса.Так как здесь не отображается название каждого ежемесячного процесса (например, toctree и представлено на отдельной странице 'month.rst'), в моем случае это было бесполезно.

Я также обнаружил, что кто-то создалcustom .. tag :: directive, но, насколько я понял, это не используется для динамического генерирования такого списка ссылок - я думаю, что оно скорее использовалось для определения того, какие страницы включать при построении HTML при использовании make.bat.

Полагаю, может потребоваться решение для Jinja, но я не слишком силен в Jina ... заранее спасибо за любую помощь!

...