Headless CMSのNewtを試してみる
最初から相当完成度高くてウキウキ
個人のブログやポートフォリオには現状でも十分すぎるけど、実際にクライアントワーク等エンジニア以外がコンテンツを触るとなるとまだバリデーション周りが足りず心配。
複数行プレーンテキスト専用のタイプはなし
ただし、 [fmt]演算子でtextを指定するとリッチテキストでもプレーンテキストとして取得できるそう
複数タイプの繰り返しが簡単に作れるのはめちゃめちゃ便利そう
slug用にテキストのバリデーションがしたいが、そういったものはまだなさそう?
JSクライアントがいい感じにTS対応していて嬉しい 良い
// https://github.com/Newt-Inc/newt-blog-starter-nextjs/blob/main/lib/api.ts
const { items } = await client.getContents<Content & Category>({
appUid: process.env.NEXT_PUBLIC_NEWT_APP_UID,
modelUid: process.env.NEXT_PUBLIC_NEWT_CATEGORY_MODEL_UID,
query: {
depth: 1,
},
});
デフォルトでも軽いプレビューページが生成できるっぽい
あとはSpaceとAppという概念があり、一つのスペースに複数のAppを作れるようなので、Shinaというスペースを作ってからそこにポートフォリオAppとブログAppというような形で作っていけるらしい
たしかに複数スペース持つのはURL変わってしまって個人ブログだと辛かったので良さそう。
Web制作文脈ではあんまり関係なさそうな気もする
Notionのデータベースのような形で「テーブル」「ギャラリー」「リスト」表示を切り替えられる
個人的にはNotionの切り替えの価値はページとして共有したときに変わっていること、フィルターなどを個別に保持して置けることだと思っているのでこれもあまり使わなそうな気がしてしまうが、慣れてみると違うかもしれない
どうしても比べてしまう某国産CMSはimgixがデフォルトで使えたが、newtは連携すれば使用可能とのこと。
ただし、その場合はGCSに画像をすべて置くようにしなければならないのでハードルは高め。
すでに公開されている記事を編集するとき、「更新(変更をそのまま公開)」か「下書きに戻す(公開されているものを非公開に)」しかできない?
Contentful等のように変更分は下書きとして保存されて、それを公開するか選べる形だと嬉しいけどどうなんだろうか
これはまだまだ全く問題じゃないし数が少なければむしろ好きなデザインなんだけど、プロジェクト増えていくとNotionみたいになって探しづらくなりそうだなと思ったりした (Space/Appの概念も含めてそもそもWeb制作文脈で使われるものじゃないのかな)
これめっっっっちゃいい、自分に関係ないAppからは自由に退室できる