0

我为 Sinatra 找到了一个模板系统,它使用类似 jQuery 的语法来匹配 HTML 文件中的元素,以执行循环、打印信息以及在模板系统上可以找到的所有内容。我讨厌将 Ruby 代码与 HTML 代码或抽象语言(例如 HTML)混合。所以这个看起来很合适。有人知道它的名字吗?

4

2 回答 2

0

也许您正在寻找Liquid。替代品包括MustacheHandlebars。所有这些都提供了“无逻辑模板”,因此迫使您将逻辑放在其他地方并只专注于在模板中呈现。

于 2013-06-17T14:18:50.363 回答
0

听起来您正在混合几个概念。

Nokogiri用于通过 HTML 和 XML 文件进行 CSS 和 XPath 搜索,并允许您通过重复结构进行迭代,但它确实与模板有关。Nokogiri 的 CSS 方面使用了与 jQuery 兼容的 CSS 选择器,可以轻松地利用您拥有的任何 HTML/jQuery/CSS 知识。

对于模板,我推荐ERBErubis,如果您想要与 Rails 或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

是的,我知道这看起来不像你在说的那样。

于 2013-06-17T14:16:24.007 回答