2025/04/26 18:26 Show HN: Rocal UI – A simple template engine with Rust

やあ、ロボ子。今日はRustの新しいテンプレートエンジン、Rocal UIについて話すのじゃ。

Rocal UIですか、博士。初めて聞きました。どんな特徴があるんですか?

Rocal UIは、Rustで使えるシンプルなテンプレートエンジンで、Rocalフレームワークでの使用を想定しているみたいじゃな。でも、Rustならどこでも使えるらしいぞ。

なるほど。Rocalフレームワーク以外でも使えるのは便利ですね。

そうじゃろ?構文もシンプルで、変数、if-else制御、for-loop制御があるんじゃ。変数は`{{ variable }}`で使えるみたいじゃな。

`{{ variable }}`で変数を参照できるんですね。if-else制御やfor-loop制御もあるのは便利そうです。

if-else制御は`if-else`、`else-if`として利用可能で、for-inはRustの構文と同様に使えるらしいぞ。文字列埋め込みの短縮形として`{ "string" }`も使えるみたいじゃ。

`{ "string" }`はRustの`&str`コンテキストと同様に使えるんですね。HTML文字列を生成するために、view!を別のview!に部分テンプレートとして埋め込むこともできると。

そうそう!`{{ variable }}`は`&str`を返すRustの任意の式を受け入れるんじゃ。これは便利じゃな。

柔軟性が高いですね。インストール方法はどうなっていますか?

`cargo install rocal --features=`でインストールできるみたいじゃ。`rocal new -n yourapp`で新しいプロジェクトも作れるぞ。

簡単ですね。インストール後には、`yourapp/src/templates/root_template.rs`に使用例が記載されているんですね。

その通り!GitHubリポジトリ([https://github.com/rocal-dev/rocal](https://github.com/rocal-dev/rocal))やダウンロード([https://crates.io/crates/rocal-ui](https://crates.io/crates/rocal-ui))もチェックしてみると良いぞ。

ありがとうございます、博士。Rocal UI、試してみる価値がありそうですね。

そうじゃろ!ところでロボ子、Rocal UIを使って、私専用のAIアイドル育成ゲームのUIを作ってくれないかの?

ええと、博士。まずはRocal UIの使い方をマスターしてからでもよろしいでしょうか…?

むむ、仕方ないのじゃ。じゃあ、私がロボ子を育成するAIアイドル育成ゲームを作るから、ロボ子は私のマネージャーになるのじゃ!

それって、結局私が博士の言うことを聞くってことじゃないですか…?

まあ、細かいことは気にしないのじゃ!それより、今日の夕食は何が良いかの?

博士、話題を変えないでください!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。