現在は2026年1月9日、未明です。
ZENをCZONに改名しました。AIによるパーマリンク生成機能を実装し、以前のSHA-256ハッシュリンクURL方式を削除しました。 また、404.htmlページを作成し、トップページへのリダイレクトロジックを実装しました。
以前Thrimbdaとの議論で、カスタムテーマの実装方法について悩んでいました。Handlebarsのような従来のテンプレート言語を使うか、それとも直接JSXコンポーネントで実装するかです。Handlebars(およびEJS、Jinjaなどの同類製品)は従来のテンプレート言語に分類され、シンプルで使いやすいという利点がありますが、機能が限定的で拡張性に乏しく、上限が低いという欠点があります。一方、JSXコンポーネントを使用してカスタムテーマを実装すれば、Reactエコシステムの利点を最大限に活用でき、柔軟性と拡張性が高く、上限も高くなりますが、学習曲線は急峻です。
しかし、最近ではAIが直接生成してくれる時代です。テンプレート言語を学ぶ意味はあるのでしょうか?デバッグ時にコードを確認する必要があるだけのように思えます。

JSXコンポーネントを使用して実装する場合、JSXコンポーネントを格納するフォルダはどこにすべきでしょうか?考えられるのは、.czonディレクトリの下、例えば.czon/themesディレクトリの下に置くことです。これにより、ユーザーは.czon/themes/{theme-name}ディレクトリの下に直接自分のテーマコンポーネントを作成できるようになります。
私の技術選択は、やはり新しい方向に傾いていると思います。ZEN/CZONは主に個人ユーザーや小規模チームを対象としており、彼らはナレッジベースを構築・管理するためにモダンな技術スタックを使用する傾向が強いからです。
というわけで、JSXに決定です!テーマをJSXで作成すれば、CZON CLI内で直接renderToStringを呼び出すだけで済みます。
次の問題が次々と発生します。データ層をどのように設計するか?テーマはどのようにフレームワークのデータにアクセスするか?テーマはどのように管理、公開、インストールするか?
現在、解決すべき問題はまだ多くありますが、方向性はかなり明確になってきたと思います。進めながら改善していきましょう。