ブログ/ウェブサイトにreStructuredTextを使用していて、グローバルインクルードファイルを追加したいと思います。HTML出力の生成に使用している設定ファイルにアクセスでき、変更できてうれしいです。どちらの構文も理解できません。
- デフォルトのインクルードファイルをパーサーに追加する
- Pythonのdocutilsを使用してPythonでdirective/inline-rolesなどを定義する
ソースコードとドキュメントを読んでみましたが、理解するのが少し難しいと思いました。非常に明白な何かを見逃したことを願っていますが、次のようなことをしたいと思います(最初の部分はすでにそこにあるものです-ファイルの残りの部分はjekyll-rstプラグインで見ることができますソース(それに直接リンク)
import sys
from docutils.core import publish_parts
from optparse import OptionParser
from docutils.frontend import OptionParser as DocutilsOptionParser
from docutils.parsers.rst import Parser
# sets up a writer that is then called to parse rst pages repeatedly
def transform(writer=None, part=None):
p = OptionParser(add_help_option=False)
# Collect all the command line options
docutils_parser = DocutilsOptionParser(components=(writer, Parser()))
for group in docutils_parser.option_groups:
p.add_option_group(group.title, None).add_options(group.option_list)
p.add_option('--part', default=part)
opts, args = p.parse_args()
# ... more settings, etc
# then I just tell the parser/writer to process specified file X.rst every time
# (or alternately a python file defining more roles...but nicer if in rst)
これを行う簡単な方法はありますか?defaults.rst
ファイルを定義して、毎回ロードするのは素晴らしいことです。
編集:これは私がグローバルに含めることができるようにしたいもののいくつかの例です(カスタムディレクティブもいいでしょうが、おそらくそれらをコードで書くでしょう)
.. role:: raw-html(raw)
:format: html
.. |common-substitution| replace:: apples and orange
.. |another common substitution| replace:: etc