Amrita2

Amrita2-2.0.2リリース

Amrita2-2.0.2をリリースしました。 http://retro.brain-tokyo.net/projects/amrita2/blog プログラムの変更は、GetTextに関する小さなバグ修正二点だけですが、合わせて ザリガニが見ていた...。さんが書いてくださった以下の Amrita2 に関するエントリを英…

「ザリガニが見ていた...。」さんのAmrita2紹介記事

Amrita2でビューはさらにシンプルに! - ザリガニが見ていた...。 Amrita2での書き方例OKとNG - ザリガニが見ていた...。 Amrita2のフィルター色々 - ザリガニが見ていた...。 「ザリガニが見ていた...。」さんでAmrita2についての解説記事を書いていただき…

GetTextへの自動対応

これは、Amrita2の最も重要な機能と言えるかもしれません。Amrita2では、ほとんど自動的にテンプレートを国際化することができます。Gettext用のフィルターがあってこれを組み込むと、テンプレート内の文字列に対して、自動的に_()を呼び出す処理を行います…

form_forブロックの中のrender :partialの悩みを解決

form_forブロックの中のrender :partialの悩み - ザリガニが見ていた...。 この悩みとは、次のようなことではないかと思います。 newとeditは似たページであるので、似た部分を一つの記述ですませたい 基本的には共通部分をパーシャルテンプレートにすればよ…

Amrita2はどのように動くのか

2.0.1をリリースして、同時にいくつかドキュメントを追加しました。この中で、HowAmrita2Worksというのを翻訳(プラス英語でうまく言えなかったニュアンスを追加)します*1。内部構造に関する説明なのですが、中身を知りたい人だけではなくて、普通にユーザと…

amrita_form_for

form_forのラッパーでこんなことができた。 <h1>Editing product</h1> <% form = amrita_form_for :product, @product, :url=>{:action=>:update, :id=>@product} do |f| f.text_field :title f.text_field :price f.text_area :description f.text_field :image_url …

RamazeでAmrita2が使えるようになりました

RamazeさんのAmrita2テンプレートエンジンをアップデートしました - ¬¬日常日記 id:keita_yamaguchiさんが、RamazeのテンプレートエンジンをAmrita2 2.0.0 で動くように直してくれました。これに便乗して、Ramazeのサンプルにあった132行のブログエンジンのA…

Amrita2 2.0.0をリリースしました

本日、Amrita2 version 2.0.0をリリースしました。Amrita2は、1.9.6をベータ版としてリリースしてからしばらく開発が滞っていましたが、今回リリースしたものは、一度書き直してレビュアブルマインドで動いているバージョンです。仕様も実装も大幅に変更して…

Amrita2のマクロテンプレート

Amrita2はだいぶ進んでいるけど、ドキュメントを書くヒマがありません。そこで、面白そうな部分のRSpecのコードとごく簡単な説明をメモ程度にここに書いていきます。なお、以下のRSpecは全て動いてます。まず、マクロテンプレートについて。 context "Macro …

Amrita2のフックメソッド

こんなこと思いついた。 specify "render child" do t = Amrita2::TemplateText.new <<-END <% odd_even = Amrita2::Hook.new do list.each_with_index do |item, n| if (item % 2) == 0 render_child(:even, :item => item ) else render_child(:odd, :item…

Modifierもどきを実装

DHHのアドバイスに従い、Smartyの修正子(Modifier)もどきを実装してみた。ついでに、動的要素を示す属性の既定値をidからamrita:srcに変更。 t = TemplateText.new %[<x amrita:src='time|DateFormat["%Y-%m-%d %H:%M"]' />] t.expand(out="", :time=>Time.local(2006,6,19,22,30)) assert_equal("<x>2006-06-19 22:30</x></x>…

DHHのツッコミ

なお、DHHのツッコミは、以下の二点。とりあえず、自分用に、ツッコミの内容をメモっておいて、対応は後で考えます。 ビューロジックを別ファイルに分離できないか? Amrita2はコンテンツの動的な部分をハッシュやPlain Ruby Objectのデータとして作成するの…

Amrita2は演繹的ソフトウエア?

私のプレゼンの資料はココ。XUL Apps > Tiny Applications > 高橋メソッドなプレゼンツール in XUL リターンズ で書いたので、firefoxオンリーです。プレゼンとしてはボロボロだったけど、言いたいことは伝わったみたい。というのは、発表の後の雑談の中で、…