2007-01-01から1年間の記事一覧

SimpleHatenaModeのテスト

SimpleHatenaModeのテスト中。このエントリは後で削除します。

デイブトーマス本のサンプルをAmrita2化してみた

Agile Web Development With Rails: A Pragmatic Guide (The Facets Of Ruby Series)これのチュートリアル部分で使われている depot というアプリを、開発中のAmrita2最新版で書いてみました。storeコントローラーのViewだけ rhtml版と対比して示します。Vie…

はてなスターテストのためのエントリ

これは、はてなスターテストの為に作ったダミーのエントリです。

マクロの利用例

これは、Amrita2+Gettextによって日本語化したLoginEngineのユーザ情報修正画面です。この上半分の部分テンプレートでは、マクロを活用してAmrita2化してみました。元のrhtmlは次のようになっています。 <div class="user_edit"> <table> <%= form_input changeable(user, "firstname"), "F</table></div>…

自動Gettext

Amrita2にGettextと連動する機能を実装しました。これを利用すると、ビューを最小限の手間で国際化することができます。サンプルとして LoginEngineをAmrita2化+日本語化していますが、たとえば、homeというビューは次のようになります。元のrhtmlのファイル…

はてぶのプライベート率を調べてみた

ちょっと気になることがあったので、はてなブックマークの人気エントリーになったエントリーのブックマーク数の、公開/非公開の割合を調べてみた。スクリプトはこのエントリーの末尾に添付するけど、まずは実行結果。表示項目は URL(6/1から6/3の人気エント…

MP3Tunesで日本語変換トラブル

MP3tunes.comを使用していてトラブルに遭遇し、なんとか復旧できたので、その顛末をメモしておく。 サービス概略 MP3tunes.comは、mp3等の音楽ファイルを保存してくれるサービスで、驚いたことにフリーのアカウントでも容量無制限で保存してくれる。フリーで…

使用ソフトメモ

使用しているWindowsマシンを初期化することになりそうなので、使用しているソフトをメモ。 Firefox Meadow iTunes PuTTY Cygwin Information and Installation 窓使いの憂鬱 TOMBO Start on Windows TClock Foxit Reader Process Explorer 英辞郎 ミニタイ…

w-zero3 設定覚え書き

ちょっと前に、W-ZERO3 (es)を使いはじめたので、設定の覚書。 全般的感想 全くの主観的感想です。 デカイ(10年前の携帯のよう) よく落ちる、よくフリーズする 画面、キーボードは予想よりはよかった 携帯というよりPDA PDAとして好きなようにいじるには良い…

テーブル出力の略記法

ここでは、AmXMLのテーブル関係の機能を説明しますが、その前に、ハッシュと配列以外のオブジェクトの扱いについて説明します。 ハッシュ以外のデータの扱い 以下のテーブル出力のサンプルでは、以下のデータを使用します。 context "table" do WebSite = St…

フック

Amrita2では、テンプレートの展開方法は、与えたデータによって制御されます。しかし、必要なロジックが複雑である場合、そのロジックをデータの形式によって表現することが難しい場合や不可能な場合があります。その場合には、「フック」という機能を使用し…

属性の設定

Amrita2には、属性を設定する方法がいくつか用意されています。以下のデータを使って、これを説明していきます。 setup do @data = { :mail=>{ :no=>142990, :title=>"[ANN] Amrita2 1.9.5" } } @expected = <<-EOF <a href='http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/142990'>[ruby-talk:142990][ANN] Amrita2 1.9.5</a> E…

フィルター

Amrita2は filterという機能によって、与えられたデータを変換して出力することができます。 specify "Format" do t = Amrita2::Template.new <<-END <<:a|Format['(%-4.2f)']>> END t.render_with(:a=>1234.56).should_be_samexml_as('(1234.56)') end Formatが標準で用意されてい</:a|format['(%-4.2f)']>…

erbサポート

Amrita2は、eRubyをサポートしています。 include Amrita2::Runtime specify "simple erb" do t = Amrita2::Template.new <<-'END' <%= 1 + 2 %> END t.render_with(binding).should_be == " 3 " end eRubyを使用する時は、render_withにBindingオブジェクト…

AmXML

Amrita2は、AmritaV1.Xと同じくXMLドキュメントに対して、データを展開していくテンプレートエンジンです。Amrita2では、idではなく、am:srcという属性をキーとして使用します。 # テンプレート t = Amrita2::Template.new <<-END <html> <head> <title am:src="page_title" /> </head> <body> <h1 am:src="header_title" /> <p class="text" am:src="text"> <span am:src="template" /> is a html t…</span></p></h1></body></html>

Amrita2の状況

Amrita2の開発は、昨年半ばから中断していましたが、年末年始ちょっとヒラメキがあって大幅に進展しました。しかし、これまでにAmrita2という名前で何度かの試行錯誤を続けているので、次にリリースする時は、中途半端なものを公開したくありません。何らか…

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…