CMSは静的サイトジェネレーターにWordpressのような管理画面を追加するオープンソースのコンテンツ管理システムです。Wordpressのデータベースの代わりにGitHubやGitLabのリポジトリを利用して管理しているようです。CMSを追加してみようと思います。CMSから投稿しています。管理画面を表示するまでにする事は少なく、GitHub認証Netlifyの設定content内にadminディレクトリを作って2つのファイルを置くpelicanconf.pyの編集GitHubにpushこれだけです。applicationをクリック。すると下記の画面になるのでこんな感じに入力していきます。applicationをクリック。settingsに移動します。providerをクリック。Secretを入力してinstallを押します。これでNetlifyの設定は終了です。ブラウザから離れてローカルのcontentディレクトリにadminディレクトリを作成してindex.html、config.ymlを作成します。src="https://unpkg.com/netlify-cms@^2.0.0/dist/netlify-cms.js"></script></body></html>公式サイトからのコピペでOKです。"markdown"}backendGitHubを使用している場合はrepoに使用するリポジトリとbranchを指定。editorial_workfloweditorial_workflowというモードを設定することで下書き保存が可能になります。これがないと記事を作成してセーブすると即座に公開されてしまう。media/public_foldermedia_folder画像ファイル置き場の場所。public_folder記事をアップロードした後に実際にアクセスされる画像ファイルのパス。記事を書いてるとき画像のパスは、({static}/images/xxx.jpg)とか(../../../images/xxx.jpg)こんな感じに書きますよね。その部分をpublic_folderに指定します。({static}/images/xxx.jpg)だと上手くいかないっぽい。collectionsname(必須)コレクションのユニークキー。label管理画面上のラベル。指定しない場合は上のnameが使用される。folder(必須)markdownファイルを配置しているフォルダーの場所を指定。通常はcontent。CMS上で作成された記事はここに保存されます。カテゴリー等で分けてcontent以下にフォルダーを作成している場合はcontent/folder名。contentにもcontent/folderにも.mdファイルが置いてある場合はそれぞれのコレクションを作成しなければならない。createこれよくわからないのでグーグル翻訳をそのまま載せときます。フォルダコレクション専用です。trueの場合、ユーザーはコレクション内に新しい項目を作成できます。デフォルトはfalseslugurlの最後の部分の設定と生成される.mdファイル名の設定。CMSでは後述するfieldのtitleを参照します。日本語ブログだとurlが日本語タイトルをローマ字化したようなurlになり、ファイルも日本語.mdになってしまいます。{{fields.slug}}とすることでfieldsのslugを参照するようになります。CMSの管理画面上の識別子。fieldのstring値の中から指定する。僕はタイトルを指定しているので各記事のタイトルが表示される。fields.mdファイルにおけるメタデータの設定。使用するメタデータは人それぞれ違うと思うのでそのまんまコピペしないように。bodyは記事を書くフィールド。label管理画面上で表示される名前とメタデータのTitle:などの部分。name(必須)フィールドのユニークな識別子。widgetフィールドのタイプ。false必須項目ではないフィールドにする。CMSで作成された記事を任意の場所に置きたい場合はcollectionsのnameからfieldまでをそれぞれ記述しなければならないので注意。以上でconfig.ymlの説明終わりです。#adminを追加を追加。これでサイトurl/adminにアクセスできるようになる。markdownファイルをcontentフォルダのさらに下に置いてある場合はSTATIC_PATHSにそのフォルダ名を追記する必要があるかも(未確認)。GitHubにpush準備が整ったのでGitHubにpush。管理画面にアクセスサイトurl/adminにアクセスすると、ログイン画面が表示されるのでログイン。CMSの管理画面が表示されました!ただ、すでに投稿済みのpelican→netlifyで作成した記事のタイトルは表示されず(泣)確認するとフィールドが空なのでCMS上でタイトルを表示させるにはフィールドにメタデータを記入して再投稿する必要がありそう。CMSで作ったテスト投稿の記事はちゃんとタイトルが表示されています。(2019-05-22追記)CMSで作られた.mdファイルのメタデータと同じ”—“でメタデータを囲み、Titleをtitleみたいにfieldsのnameと同じ小文字にしたらCMSでもタイトルが表示されました。下書きを保存するWorkflowのページはこんな感じ。画像のアップロードはトップページのMediaからか記事作成時markdownからリッチテキスト形式に変えてアップロードして記事に貼り付けることができます。StatusをDraftからReadyにしてPublish。workflow画面で記事をReadyにドラッグアンドドロップしてpublish。切り替わったらそこからプレビューに飛びます。切り替わるまで少し時間がかかります。found"でアクセスできないという壁にぶち当たります。あと、config.ymlファイルを修正してpushして、を何度も繰り返してやっと記事を投稿できるようになったので、config.ymlのドキュメントをグーグル翻訳を使ってしっかり読んだほうが良いです。