Netlify CMSのブログ記事のURLに日本語が含まれないようにしたい

April 13, 2019

生成される記事のマークダウンのファイル名に日本語が含まれないようにしたので、その作業ログです。

config.ymlにあるslugというプロパティがマークダウンのファイル名になっているっぽい。

slug: "{{year}}-{{month}}-{{day}}-{{slug}}"

Netlify CMSのドキュメントを確認すると

For folder collections where users can create new items, the slug option specifies a template for generating new filenames based on a file's creation date and title field.

と書いてあるので、slugがマークダウンのファイル名のテンプレートになっていることがわかります。

更に、時刻まで指定できるので、これを使いましょう。

{{minute}}: 2-digit minute of the file creation date

{{second}}: 2-digit second of the file creation date

こういう感じにすれば日付と時刻で一意な記事のURLになります。

slug: "{{year}}{{month}}{{day}}{{minute}}{{second}}"

現時点でのconfig.ymlを載せておきます

config.yml

backend:
  name: git-gateway
  branch: master

media_folder: static/img
public_folder: /img

collections:
  - name: "blog"
    label: "Blog"
    folder: "src/pages"
    create: true
    slug: "{{year}}{{month}}{{day}}{{minute}}{{second}}"
    fields:
      - {label: "Template Key", name: "templateKey", widget: "hidden", default: "blog-post"}
      - {label: "Title", name: "title", widget: "string"}
      - {label: "Publish Date", name: "date", widget: "datetime"}
      - {label: "Body", name: "body", widget: "markdown"}
publish_mode: editorial_workflow