ページ

2015-04-23

PowerShellからRazorテンプレートエンジンを使ってみた

以前のCottleの記事で書いた通り、去年の7月(!)にPowerShellとRazorの話をしたのですが、資料をアップロードしました。上げてなかったのは、Cottleの記事に書いた通り、向いてなくね、と思ったからなのですが、Razorだからこそうれしいケースがなくもなさそうだったので、とりあえず資料を上げるだけ上げることにしました。



その中使っていたスクリプトがこちら。


DynamicViewBagがModelってナニソレって感じなんですが、このRazorEngineは、Modelクラスを作って渡すことを想定されているので、クラスを作るのが大変なPowerShellからはまっとうな呼び方をするのが難しかったのです。いわば抜け穴。これを探してたのは、LTしませんかと現場で言われてから発表までの話なので、もうちょっと頑張ればいい方法があるかもしれませんが、がんばってません。ASP.NET MVC屋的に気持ち悪いだけで、名前がアレなのを除けば、PowerShellとのつなぎという意味ではそれほど悪くないかなとも思っていますが、このまま行くか頑張って直すかは使われる皆様の判断にお任せします。

ちなみにおすすめはC#からRazorEngineを使う、です。

追記
RazorEngineのソースを見たところ、当時読んでたソースとだいぶ変わっているようです。もしかすると、こんなややこしい呼び方は要らないかもしれません。もし動かないとかあれば、RazorEngineのソースをご確認ください。

追記2
altriveさんが、ModelにPSCustomObjectを渡す例を書いてくれました。一度コンパイルするといいらしいです。要ちぇっく。
https://gist.github.com/altrive/2f048e4c78398c055090

0 件のコメント:

コメントを投稿