Использование noindex с глоссарием в Sphinx


При использовании Sphinx 1.1.3, как я могу создать запись .. glossary::, которая не отображается в автоматически созданном индексе?

Я попробовал :noindex: в четырех местах:

До и после глоссария глоссарий исчезает.

.. :noindex: glossary:: 

    `term`
        definition

.. glossary:: :noindex:

    `term`
        definition

В то время как положить его с термином делает термин кликабельным и отображает :noindex:.

.. glossary:: 

    :noindex: `term`
        definition

.. glossary:: 

    `term` :noindex:
        definition

Мой термин имеет специальные символы, поэтому я намеренно заключаю его в обратные кавычки.

1 3

1 ответ:

Как я понимаю, директива glossary создает крючки для каждого из терминов, на которые можно легко ссылаться из любого места в документации; и это будет в конечном итоге где-то в индексе, по крайней мере, внутренне во время сборки.

Чтобы обойти это, вы можете использовать стандартный список определений:

 term_1
   definition for term_1

 term_2
   definition for term_2
Эти определения будут записываться только локально и не будут появляться в основном индексе. Смотрите reST docs для получения более подробной информации о синтаксисе.

Если вы если вы хотите явно включить некоторые термины в такой список, вы можете использовать роль :index:.

 :index:`term_3`
   definition for an indexed term

И эти термины теперь появятся в индексе. Однако, если это не очень мало терминов, это неуклюжий способ достижения того, что глоссарий делает для вас; и теряет способность использовать перекрестные ссылки (используя синтаксис :term:`term_1`).