のような静的サイトジェネレータにも、を導入することができます。
今回は静的サイトジェネレータ用 CMS のひとつである Forestry を少し試してみたので、その導入方法やメリット・デメリットについてお話します。
導入方法
まず、公式サイトからアカウントを作成します。
GitHub や GitLab のアカウントと紐づけることができます。
次に、Forestry.io に置くウェブサイトを指定します。
今回は Hugo を選択します。
Hugo はバージョンを指定する必要があるようです。
選択肢には extended がないので、extended かどうかは考慮しなくてもいいのかもしれません。
次にコードの置き場所を指定します。
認証をしてから、サイトが置いてある git のリポジトリとブランチを選択します。
しばらく待つと、ダッシュボードに入ることができます。
設定
左側のサイドバーの Settings から、サイト名や URL などの設定をします。
サイドバーは自分の好きなように設定できます。
一応 HTML などのファイルも入れることができますが、作業のしやすさを考えるとローカルのコードエディタのほうがいいので、
マークダウンファイルや TOML、YAML、JSON ぐらいを入れておくだけでいいと思います。
config.toml を開くとこんな感じ。
ちなみにファイルは Read Only(編集不可)にすることもできます。
フロントマターのテンプレート作成
サイドバーの Front matter から、フロントマターのテンプレートを作成することができます。
さまざまな入力フィールドのタイプを選択できます。
これで、編集画面に出てくる名前や選択肢を設定できます。
編集
サイドバーからフォルダ名、ファイル名を選ぶと、コンテンツの編集画面が表示されます。
編集画面はこんな感じです。
左側にフロントマター、右側に本文が来ます。
右側は修飾のないテキストデータだけの表示に変えることもできます。
Forestry.io のサーバからプレビューをすることもできますが、スタイルが適用されなかったりすることもあります。
Forestry.io のメリット
インターネット接続さえできればどこからでもコンテンツの編集ができる
ローカルPCで作業をしていると、PCのローカルホストを使って編集を進めていくわけなので、
PCが使える状態になければちょっとしたことでも編集することができません。
Forestry.io にアクセスできれば、タブレットやスマホからでもコンテンツの編集が可能になります。
PC が充電中でも、タブレットに持ち替えてコンテンツ作成を継続する、なんてことができるようになるわけですね。
共同編集ができる
静的サイトジェネレータを共同編集しようとすると、おそらく git のリモートリポジトリにそれぞれの開発者が push したり merge したりすることになると思います。
Forestry.io では Settings > Collaborators and Teams から、共同編集者を指定することができます。
権限のレベルも editor/developer/admin と分けることができます。
これで git まわりの知識・技術がない人でも編集に関わることができます。
専門知識・技術がない人でもある程度はコンテンツ作成に関われる
専門知識がない人でも、コンテンツを簡単に作成できます。
ただ、Hugo ショートコードなどは直接書かなければならないので、その知識がない人にそこまで書いてもらうことはできません。
とはいえ、ほとんどはテキストなので、知識がない人にとってはそれだけでも十分です。
Forestry.io のデメリット
あまり融通が効かない
例えばフロントマターのテンプレート作成ですが、
こちらは archetypes の default.md のほうが細かくカスタマイズできて強いような印象でした。
また、マークダウン編集でも、VSCode なら使える User Snippets が使えない、ショートカットキーのカスタマイズができないなど、
いろいろ不便に感じることがあるかもしれません。
しっかり書くならローカルPCでやるのが一番よさそうです。
英語が読めないとよくわからない
Forestry.io は英語のサイトです。
普段から英語に触れているエンジニアなら特に問題ないかもしれませんが、
英語に抵抗があるならちょっと大変かもしれません。
とはいえ、サイト内でがっつり読み込まなければならない英語はほとんどありません。
ただ、使い方を調べるときに出てくるドキュメントやページはほぼすべて英語のページになります。
Forestry.io が適する場面は?
結論として、個人でウェブサイトを運営している場合は、
- メインのコンテンツ管理はPCのコードエディタで行い、
- PCが使えない場面でのちょっとした修正はスマホやタブレットから Forestry.io にアクセスして行う
というような使い方がいいでしょう。
専門知識や技術を持たない人を含む複数人で運営する場合は、
- メインのコンテンツ管理は簡単に扱える Forestry.io で行い、
- 専門知識や技術が必要な部分(ショートコードなど)の編集やコンテンツ以外の部分(HTML、CSS など)は技術者が行う
というような使い方ができます。
チームでサイトの運営をするときのほうがメリットが大きいと言えそうです。
参考になれば幸いです。
では