記事一覧

EmDashのseed.jsonとは?最初の記事・カテゴリー・メニューをまとめて入れる

EmDashの雛形にある seed/seed.json は、記事の型と最初の中身を1つにまとめたファイルです。編集部はこれを書き換えて、このサイトの記事・メニュー・カテゴリーを入れました。

EmDashのseed.jsonとは?最初の記事・カテゴリー・メニューをまとめて入れる

EmDash の雛形には seed/seed.json というファイルがあります。これは「サイトの最初の状態」を1つにまとめたものです。編集部はこのファイルを書き換える方法で、このサイトの記事やメニューを入れました。

中に入っているもの

雛形の seed.json には、次の項目が並んでいました。

  • settings … サイト名とキャッチコピー
  • collections … 記事の型(posts と pages)と、その項目
  • taxonomies … カテゴリーとタグ
  • bylines … 書き手の名前
  • menus … 上のメニュー
  • widgetAreas … サイドバーとフッターの部品
  • sections … 記事に差し込める定型の部品
  • content … 最初から入る記事と固定ページ

記事の型(collections)

雛形の記事(posts)には、次の4つの項目がありました。

  • title(タイトル・必須)
  • featured_image(アイキャッチ画像)
  • content(本文。Portable Text)
  • excerpt(抜粋)

ほかに、下書き・版の履歴・プレビュー・予約公開・検索・SEO の機能が「使う」になっていました。

いつ読み込まれるか

seed.json は、サイトの初期設定(管理画面で最初に行う設定)のときにデータベースへ入ります。すでに初期設定を済ませたサイトでは、seed.json を書き換えても自動では入りません。その場合は CLI の emdash seed か、管理画面・CLI から1件ずつ入れます。

編集部のやり方

記事を1本ずつ管理画面に貼るのは手間なので、編集部は次の流れにしました。

  1. 記事を Markdown(見出しや箇条書きを記号で書く形式)で書く
  2. 小さなプログラムで Markdown を Portable Text に変え、seed.json の content.posts に入れる
  3. 公開してから初期設定を行い、まとめて入れる

詳しい手順は「Markdownで書いた記事をEmDashに入れた方法」で説明しています。

書き換えるときの注意

  • カテゴリーやタグは、taxonomies に登録した名前(slug)でしか記事に付けられません
  • 記事の id は重ならないようにします
  • 書き換えたら、JSON として正しく読めるか確かめます。カンマ1つの抜けで読み込みが止まります

関連記事