我正在使用HAML为一个站点生成一些静态的html页面,并且我想要将公共组件拆分成可以包含在多个页面中的部分,就像在Rails中一样。然而,我不想使用整个Rails堆栈来做这件事,因为它看起来有点夸张。
我在网上四处寻找,但没有找到任何东西,比仅仅做一些像这样的事情更好:
Haml::Engine.new(IO.read("header.haml")).render有没有更好的方法从HAML中包含所谓的部分?我遗漏的现有过滤器或命令?
发布于 2009-09-09 15:19:09
最好将haml & sass与构建静态网站的工具结合起来。以下是一些链接:
的Jekyll分支
我正在为我的博客使用jekyll,但是如果你不是在建立一个博客,它可能不适合你的需要。
发布于 2009-09-07 05:35:07
该死,你说得对--没有一种内置的方法。我在haml命令行中使用过帮助器,但总是那些输出已经是超文本标记语言格式的帮助器。
我最好的建议是编写一个partial()方法并请求它。看起来你已经开始走这条路了。我建议任何编写这样的函数的人考虑以某种方式保留原始的绑定。Haml::Helpers#capture_hame看起来是实现这一目标的最简单的方法。
如果执行速度是个问题,那么使用与Merb相同的方式缓存一些已解析的模板可能也是个好主意。
如果有人确实得到了一些代码工作,请把它放在GitHub上,并在这里发表评论。
发布于 2013-12-12 09:54:30
我终于找到了我想要的,所以我想我应该和你分享我的发现。可以简单地使用与最初用于haml的语法相同的语法- http://www.semicomplete.com/blog/geekery/partials-in-haml-in-sinatra.html
/views/file.haml
%h3 Title
%div= haml :content, :layout => false/views/content.haml
%p your content herehttps://stackoverflow.com/questions/1386272
复制相似问题