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