Подстановка атрибутов поля из другого документа в реструктурированный текст + сфинкс

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

Учитывая файл foo.rst, я хотел бы использовать значение его поля Author в другом документе. Например, он определяется следующим образом:

Foo
===

:Author: Random, Joe;

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua ...

И у меня есть следующий фрагмент в другом файле bar.rst

In "Foo" <insert author field from foo.rst>
writes ...

После компиляции и преобразования в HTML с помощью sphinx я хочу, чтобы вывод bar.rst был:

In "Foo" Random, Joe writes ...

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

Добро пожаловать в Stackoverflow. Измените свой вопрос, чтобы уточнить описание проблемы, и добавьте еще код, чтобы прояснить пример кода. Для получения рекомендаций посетите страницу как спросить и как создать минимальный пример.

5th 10.08.2018 17:42
0
1
49
1

Ответы 1

Насколько я знаю, прямого пути нет, возможно, это зависит от темы, которую вы используете (посмотрите в conf.py элемент "html_theme = ...").

Но можно и так:

в foo.rst:

.. _author_random:

:Author: Random, Joe;

в bar.rst:

:ref:`any text <author_random>`

Тогда у вас есть в bar.html ссылка на _author_random с текстом «любой текст».

Спасибо, что нашли время ответить. Но это было не совсем то, что я искал. Я не хочу вводить имя автора каждый раз, когда мне нужно к нему обратиться. Я использую тема readthedocs по умолчанию, попробую посмотреть там документацию.

Abhik Pal 17.08.2018 17:44

Другие вопросы по теме