私は自分のプロジェクト用のSphinxのドキュメントを作成しており、ソースファイル用のドキュメント文字列を抽出して最終的なドキュメントに埋め込んでいます。残念ながら、ソースファイルの言語(VHDL)はSphinxではサポートされていません。 VHDL用のSphinxドメインは存在しないようです。スフィンクスにSphinxの実行中にソースファイルを前処理する方法は?
- フックが(各ソースファイルから最上位の複数行をテキストブロックを抽出
- Pythonのコードスフィンクスの前にいくつかのPythonコードを実行し、実行します。次のように
だから私のアイデアがありますコメントブロック)、このコメントブロックと他のreSTマークアップからなるソースファイルごとに1つのreSTファイルをアセンブルします。
- すべてのソースファイルはディレクティブを生成するために
index.rst
にリストされています。 - テキストの抽出と変換は、ソースコードディレクトリごとに再帰的に実行されます。
したがって、主な質問はです。どのようにしてSpinxに接続しますか?
conf.py
で自分の設定をインポートして実行するだけですか?
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
from my_preprocessor import my_proc
proc = my_proc()
proc.run()
#
# Test documentation build configuration file, created by
# sphinx-quickstart on Tue May 24 11:28:20 2016.
# ....
私は、ビルドプロセスのファイルを変更することはできません:Makefile
とmake.bat
、実際のビルドプロセスがReadTheDocs.org上で実行されるため。 RTDはconf.py
のみ実行します。
[拡張機能を作成する](http://www.sphinx-doc.org/en/stable/extdev/index.html#dev-extensions)と[あなたのプロジェクトに追加する]ことはできませんhttp://www.sphinx-doc.org/en/stable/extensions.html#where-to-put-your-own-extensions)? –
ターゲット言語用の拡張機能(パーサ、オブジェクトモデルアダプタ)を書くのは非常に複雑です...前処理が簡単かもしれません。 – Paebbels