私は Sinatra 用のテンプレート システムを見つけました。これは、HTML ファイル内の要素を照合するために jQuery に似た構文を使用して、ループを実行し、情報を出力し、テンプレート システムで見られるすべてのことを行います。Ruby コードと HTML コードを混ぜたり、抽象化言語 (HTML など) を混ぜたりするのは嫌いです。したがって、これは完璧にフィットするように見えました。その名前を知っている人はいますか?
2 に答える
たぶん、あなたはLiquidを探しています。代替手段には、MustacheとHandlebarsが含まれます。これらはすべて「ロジックのないテンプレート」を提供するため、ロジックを別の場所に置き、テンプレートでのレンダリングのみに集中する必要があります。
いくつかの概念を混ぜているように聞こえます。
Nokogiriは、HTML および XML ファイルの CSS および XPath 検索を実行するために使用され、構造の繰り返しを繰り返すことができますが、テンプレートとは関係ありません。Nokogiri の CSS の側面では、jQuery 互換の CSS セレクターを使用しているため、HTML/jQuery/CSS の知識を簡単に利用できます。
テンプレートについては、Rails に付属するものと同様のものが必要な場合はERBまたはErubisをお勧めします。または、私のお気に入りのHAMLをお勧めします。テンプレートを使用すると、コード変数を使用して HTML を簡単に発行できます。
構文は次のようなものでした: something('h1.myTitle').html 'My custom title' (非常に jQuery に似ていました)
require 'nokogiri'
doc = Nokogiri::HTML('<html><body><h1 class="myTitle">My custom title</h1></body></html>')
doc.at('h1.myTitle').content # => "My custom title"
また:
doc.search('h1.myTitle').each do |n|
puts n.text
end
# >> My custom title
ええ、あなたが話しているように見えないことがわかります。