RE:CZ

CZON 技術更新とテーマ実装方法の検討

AIツール開発

👤 個人ユーザーや小規模チーム、技術更新やカスタムテーマ実装に興味のある開発者。
本記事は、著者が2026年1月9日にZENをCZONに改名した技術更新を記録しており、AIによる永久リンク生成と404ページリダイレクトの実装を含みます。核心内容はカスタムテーマの実装方法に焦点を当て、著者は従来のテンプレート言語(Handlebarsなど)とJSXコンポーネントの長所・短所を比較し、最終的にJSXコンポーネントを採用し、Reactエコシステムの利点を活用して柔軟性と拡張性を向上させることを決定しました。また、テーマの保存場所(.czon/themesディレクトリ)、データ層設計、テーマがフレームワークデータにアクセスする方法などの問題について議論し、方向性は明確で、改善を進めながら進むと指摘しています。
  • ✨ ZENをCZONに改名
  • ✨ AIによる永久リンクを実装し、SHA-256ハッシュリンクを削除
  • ✨ 404.htmlページを作成してホームページにリダイレクト
  • ✨ カスタムテーマ実装方法の検討:従来のテンプレート言語 vs JSXコンポーネント
  • ✨ JSXコンポーネントを選択し、Reactエコシステムの利点を活用
📅 2026-01-09 · 838 文字 · 約 3 分で読めます
  • CZON
  • JSX
  • テーマ実装
  • 技術選択
  • React
  • 個人ユーザー
  • 小規模チーム

現在は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を呼び出すだけで済みます。

次の問題が次々と発生します。データ層をどのように設計するか?テーマはどのようにフレームワークのデータにアクセスするか?テーマはどのように管理、公開、インストールするか?

現在、解決すべき問題はまだ多くありますが、方向性はかなり明確になってきたと思います。進めながら改善していきましょう。

See Also

Referenced By