プログラムを中心とした個人的なメモ用のブログです。
タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。
PlantUML にはプリプロセッサの機能があり、C言語と同じように定数定義や ifdef などが使用できます。
これを使用し、以下のように出力フォーマットに応じて処理を分けてみます。
PlantUML のコード上では、以下のように定義します。
!define _PROJECT_NAME_ ProjectName
また、コマンドライン引数でも定数は定義できます。
> plantuml.jar -DPNG="png" hoge.puml
-D が定数定義するオプションで、その後に続く文字が定義する文字列です。
つまり、上記は以下の定義と同じ意味です。
!define PNG "png"
これで、上記のようにコマンドライン引数で定数を定義しつつ、PlantUML 内のコードに以下のように記述すれば、PNG で出力するときのみ画像が分割されることになります。
!ifdef PNG newpage !endif
PlantUML のコードを Sphinx ドキュメントに埋め込むための方法です。
ただし、Atom を使用したプレビュー機能が使えなくなるので、微妙かもしれません。
easy_install sphinxcontrib-plantuml
conf.py に以下の設定を追加します。
plantuml.jar のパスは適宜変更してください。
# sphinxcontrib.plantuml モジュールを読み込む extensions = ['sphinxcontrib.plantuml'] # PlantUML の起動方法を設定する plantuml = 'java -jar BAT/plantuml.jar'
尚、他のモジュールを読み込んでいる場合は、以下のように記述します。
extensions = ['rst2pdf.pdfbuilder','sphinxcontrib.plantuml']
UML ディレクティブを使用して記述します。
.. uml:: Alice -> Bob: Hi! Alice <- Bob: How are you?