前回の記事 のように Apache POI を用いて、直接 Word 形式の Javadoc を生成することが出来ますが Markdown ファイルを作る Doclet を作りました。
1st release.
This is 1st release.
- HTML タグの解析は簡易的におこなっているので対応していない HTML タグはタグのまま出力します。
- Javadoc の対応していないインラインタグは無効化されて出力します。
Ant から実行する場合は以下のような Ant スクリプトになります。ソースコードは GitHub で公開しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <project default="javadoc"> <target name="javadoc"> <javadoc access="private" additionalparam="-encoding utf-8" packagenames="doclet.markdown" sourcepath="src"> <doclet name="doclet.markdown.MarkdownDoclet" path="markdowndoclet-1.0.jar"> <param name="-file" value="document.md" /> <param name="-title" value="SUBJECT" /> <param name="-subtitle" value="SUBTITLE" /> <param name="-version" value="VER 1.0" /> <param name="-company" value="XXX PROJECT" /> </doclet> </javadoc> </target> </project> |
上記のように実行すると document.md という Markdown ファイルが出来ます。Ant スクリプトを使用せずに直接 Javadoc コマンドを実行する場合は以下のように実行します。
1 |
javadoc.exe -private -encoding utf-8 -doclet doclet.markdown.MarkdownDoclet -docletpath markdowndoclet-1.0.jar -classpath markdowndoclet-1.0.jar -sourcepath ソースファイルのパス -file 出力ファイル.md -title 題名 -subtitle 題名の補足 -version バージョン -company 発行者 パッケージ名 |
出力された Markdown ファイルを Pandoc で Word 文書に変換する場合は以下のように実行します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <project default="pandoc"> <target name="pandoc"> <exec executable="pandoc" dir="."> <arg line="--toc" /> <arg line="--toc-depth=2" /> <arg line="--standalone" /> <arg line="--reference-docx=reference.docx" /> <arg line="-o document.docx" /> <arg line="document.md" /> </exec> </target> </project> |
上記の例ではスタイルのテンプレートに reference.docx というファイルを使うようになっています。Ant スクリプトを使用せずに直接 Javadoc コマンドを実行する場合は以下のように実行します。
1 |
pandoc.exe --toc --toc-depth=2 --standalone --reference-docx=reference.docx -o document.docx document.md |
目次を作成しない場合は --toc --toc-depth=2
のオプションは必要ありません。
テンプレートの reference.docx は自由に作成出来ますが、以下からサンプルをダウンロードしてカスタマイズすることで簡単に用意出来ます。
reference.docx
上記の方法で MarkdownDoclet のソースコード を MarkdownDoclet で変換したサンプルはこちらの Markdown です。これを Pandoc で変換したサンプルはこちらの Word です。