Вы можете использовать asyncPype , если вы используете myEvents только в шаблоне.
Здесь пример с asyncPype и Angular4 HttpClient https://stackblitz.com/edit/angular -rhioqt? файл = приложение% 2Fevent.service.ts
Для записи это решение гораздо более сложное, чем решение, но на данный момент я не нахожу что-то лучше ...
Прежде всего, вы должны понимать, что мое обходное решение основано на тему. В вашем документе вы используете тему (по умолчанию - один или пользовательский), но в любом случае вы используете тему. Эта тема разделена на другую часть (page, toc, ...), которая может быть индивидуально переопределена. Это переопределение может выполняться на другом уровне: сама тема или в каталоге настраиваемых шаблонов проекта (по умолчанию _templates
) (настраивается в conf.py
).
Моим обходным решением является переопределение page.html
в директории _templates
, которая представляет все страницы вашей документации. В этом шаблоне у вас есть доступ к pagename
(относительный путь к документу каждого файла). Зная это, вы можете сделать некоторую условную проверку в этом шаблоне, чтобы определить, является ли это файлом, который вы хотите переопределить & amp; затем переопределите его. Если это не файл, который нужно переопределить, просто отмените поведение по умолчанию:
{% extends "layout.html" %}
{% block body %}
{% if pagename == 'index' %}
{% include 'custom/index.html' %}
{% else %}
{{ body }}
{% endif %}
{% endblock %}
Как объясняют, это действительно звучит как взлома ...
Следует иметь возможность использовать переменную для определения шаблона для расширения от .
Таким образом, это может быть меньше «взлома». И вы полностью контролируете сгенерированный вывод (не только блок body
).
layout.html:
{% extends meta.page_template|default('basic/page.html') %}
И в вашем index.rst вы используете тогда метаданные на уровне страницы :
index.rst:
:page_template: custom/index.html
<your normal index.rst content>