Movable Typeでページを生成する際、URLに含めているアンダーバーがハイフンに変換されてしまうということがあったので、対応方法をメモ。
サンプルコード
まずはアンダーバーがハイフンに変換されてしまう例を確認してみます。
ウェブページの場合
ウェブページのテンプレートで、アーカイブマッピングは以下のような設定になっています。
folder-path/page-basename.html
フォルダを「/test_page/」、ファイル名を「index.html」として、ウェブページの登録を行います。
これでページの再構築を行うと以下のようなURLになり、フォルダが「test_page」ではなく「test-page」で生成されてしまいます。
/test-page/index.html
記事の場合
同じように記事の場合も試してみます。
記事アーカイブのテンプレートでアーカイブマッピングは以下ように設定しています。
category/sub-category/entry-basename/index.html
カテゴリの出力ファイル名を「event_test」、記事の出力ファイル名を「sample_page」として記事を登録します。
再構築を行うと以下のようなURLになり、カテゴリと記事の出力ファイル名がアンダーバーからハイフンに変換されていました。
/event-test/sample-page/index.html
対応方法
上記のそれぞれの例でアーカイブマッピングを「カスタム」に変更するとわかりますが、ウェブページの場合は「%-c/%-f」、記事アーカイブの場合は「%-c/%-b/%i」という設定になっています。
それぞれの項目については公式のドキュメントを確認するとわかりますが、ハイフンに変換されている「%-c」や「%-b」などは separator=”-” が設定されていて、アンダーバーをハイフンに変換する設定になっているようです。
変換処理が行われないようにするには、「%-c」のかわりに「%c」、「%-b」のかわりに「%b」を使用するといいようです。
もしくはハイフンではなくアンダーバーで統一したいという場合には、「%-c」のかわりに「%_c」、「%-b」のかわりに「%_b」とするとハイフンをアンダーバーに変換するようになります。
コメントが承認されるまで時間がかかります。