HugoとTinaCMSの連携を試そうとしたけどやめた
TinaCMS という Hugo と組み合わせて使用できる CMS があるとのことで試してみました。
TinaCMS とは
いわゆるヘッドレス CMS の一つになるようです。ページのレンダリングは行わず、編集画面とフロントエンドからの呼び出し用に API を提供してくれるらしいです。
ヘッドレス CMS なので、レンダリングエンジンとして Hugo を組み合わせる利用も想定されており、公式サイトにて言及されています。
こういった情報をたまたま見つけることができたので試してみました。(最終的には導入を見送りました)
良さそうなところ
ブラウザ上で編集ができる点でしょうか。今は iPhone か Mac にて Markdown のファイルを編集していますが、特にテキストエディタでは行いづらい初期値を設定することができるのがありがたいです。また画像もアップロードに対応しています。
良くなかったところ
日付型のフィールドが必ず UTC のフォーマットになる
日付型のフォーマットで苦戦しました。Hugo なら date,lastmod などの日付型の値がありますが、それがすべて UTC として扱われてしまいます(toISOString
が必ず呼ばれるようになっているらしい)。ビルドの際には Hugo のオプションで設定しておけば JST へと変換された内容に変わるので良いのですが…
自動生成したい値もフィールドとして設定しなければならない
たとえば更新日時を保存時に書き換えるように設定できますが、入力項目として設定しておかないと、値利用されずファイルには出力されません。逆に、入力項目に設定したものはエディターの項目として表示されてしまうため、編集可能であり、あまりうれしくありませんでした。
Markdown のエディタが好きじゃない
シンプルな textarea か WYSIWYG エディタしかないのですが、どちらもそうじゃないんだよなぁ…という感じです。そこはアプリの専用エディタの方が書き心地が良いので、編集後にコピペで行けそうですが…
データベースのセットアップが必要そう
最終的なセットアップを完了させていないので、手間はわからないのですが、もともと Hugo を使った DB なしのコンテンツ管理をしているので、そこで別途データベースが必要になるのは違うなーと思ってしまいました。
欲しかったもの
結局のところ、自分が欲しているのは以下なのかもしれません。
- Markdown の Frontmatter の生成を簡単にできること
- 作成日の自動補完とかタグをリストから選んだりできるとか
- ファイル名の管理
- 自分のスタイルにあったファイル名を簡単に設定できる
- Git 関連の操作
- コミットしてプッシュするという操作がなかなか面倒なので
ヘッドレス CMS(エディターを含む)よりもさらに領域が狭くて、ファイル管理と Git 操作が簡単になるものがあれば良いのになぁ…