CIでヘルプを自動ビルドする
CI環境からヘルプをビルドする際に利用できる情報を説明します。
ビルド
CI環境からはbuild.batをエディションの引数付きで呼んでください。以下はchm_your_editionの例です。
.\CI\build.bat chm_your_edition
ビルドの内部処理は以下のようになります。
- HUGOで
--environmentにエディションを指定してWebサイトをビルド jp下の*.hhp,*.html,*.hhcファイルをすべてSJISに文字コード変換hhc.exeでjp,enのヘルプをビルド
成果物
成果物であるHTMLヘルプはpublishDirの設定に従って出力されます。 publishDir = "public_chm_your_edition" の場合、以下がヘルプの出力先になります。
/public_chm_your_edition/jp/(helpTitle).chm
/public_chm_your_edition/en/(helpTitle).chm
UTF8からSJISに変換できない文字のリスト
HUGOはUTF8のWebサイトを生成しますが、HTMLHelpで日本語を扱うためにはSJIS(Windows CP932)へ変換する必要があります。変換はbuild.batの処理で行われますが、SJISに対応文字がなく変換できなかった文字については、build.batと同じディレクトリのunknonw_(edition).logに記録されます。
置換できない文字の例
SJISの対応文字に置換できない文字は"?“で置換されます。例えば以下の文字はHTML Helpでは”?“となります。
30F7 ヷ
30F8 ヸ
30F9 ヹ
30FA ヺ
カスタムマッピング
変換できない文字をSJISの特定文字にマッピングするには、/CI/UTF8toSJISConverter.csのFallbackメソッドのswitch文を編集します。
エラー処理
build.batはエラー時にエラーコード1を返します。バッチから呼ぶ場合、例えば以下のようにエラー処理できます。
.\CI\build.bat chm_your_edition
if not %errorlevel% == 0 exit /B 1