External Post

netlifyCMSでslugを日本語向けにする

netlify-cmsでのファイル名は、原則下記のような感じで、タイトルなどから利用されるslugになる

collections:
  - name: blog
    slug: '{{year}}-{{month}}-{{day}}-{{slug}}'

もう少し詳細を追うと、slugは、titleまたはpathという属性を利用される。(参照箇所)

この時の問題として、下記二点があある

  • slugに日本語入れるとURLや生成されるmarkdownファイル的に微妙
  • 年月日をベースなので、1日に複数記事書けない
  • pathをtitleと別に用意しても良いが、少々煩雑

このような問題への解決として、Slug Typeの設定が用意されている

デフォルトではunicodeだが、これをasciiに変えてやると、英数字のみが抽出されたslugになる

slug:
  encoding: "ascii"

clean_accents: trueというオプションもあり、これを使うと分音符(ěščřžýみたいなの)を普通の文字にしてくれるが、日本語だと使う事はなさそう。(ただつけといて損があるものでもない)

この記事の修正をする