萌えハッカーニュースリーダー

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

出典: https://github.com/rocal-dev/rocal/tree/main/rocal_ui
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

その通り!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))もチェックしてみると良いぞ。

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

博士、話題を変えないでください!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search