DITA-OT 2.0M4でHTML helpを作るメモ

"DITA-OT2.0.M4_client_bin.zip"をダウンロード / 展開する。full_installのようなzipも存在するが、実はclient側のZIPにしかditaコマンドが無いため、clientを利用する。これはちゃんとドキュメントにも有る( https://dita-ot.github.io/2.0/quickstartguide/installing-client.html )が、SourceForgeのダウンロード数はFullの方が多かったりする。
パス等は特に通す必要は無い。JAVA_HOMEが無いと

Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre1.8.0_20\lib\tools.jar

のような警告が出るが、気にする必要は無い。
HTML Help workshopを必要に応じてインストールする。ただし、DITA-OTの作るプロジェクトファイルは多少修正の必要が有るので、HHC.exeを適当なところに置くだけでも良い(後述)。
適当にコマンドプロンプトを開き:

C:\build\ditadoc>c:\prog\DITA-OT2.0.M4\bin\dita -f htmlhelp -i c:\prog\DITA-OT2.0.M4\docsrc\userguide.ditamap

のように、htmlhelpを指定してビルドを行う。
DITA-OTはインストールされたHTML Help Workshopを自動検出し、存在する場合は自動的に.chmの生成まで行う。

"同期"ボタンの追加

HTMLヘルプは歴史と伝統の有るフォーマットなため、いくつかの常識的な機能がオプショナルになっている。"同期"ボタンの追加など表示ウインドウのスタイルの変更は、CHM的なWindow定義を追加して設定する必要が有る。
HTML Help Workshopで生成されたプロジェクトを開き、ツールバーのボタンでWindowを追加し"Default"の名前にする。

あとは"locate"ボタンを追加すれば、同期ボタンが表われる。

(実際には、auto-locateが自動的に有効になっていて、ページをナビゲートする度に自動的に同期が行われる。もっとも、auto-locateが望ましい動作かどうかは議論が有る。個人的には明示的な同期を好む。)
プロジェクトはテキストファイルなので、後工程で適当に置換してから生成を行うのが多分良い。DITA-OT自体をカスタマイズする方法も有るが。。
HTMLヘルプはレガシテクノロジで、実際MSも今後の開発は行わないと明言しているが、残念ながら現状HTMLヘルプほど開発者に親しまれているヘルプシステムは他に存在しない気がする(manページを除けば)。