首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Rails外部的HAML内部渲染HAML部分

从Rails外部的HAML内部渲染HAML部分
EN

Stack Overflow用户
提问于 2009-09-06 18:02:55
回答 5查看 4.5K关注 0票数 9

我正在使用HAML为一个站点生成一些静态的html页面,并且我想要将公共组件拆分成可以包含在多个页面中的部分,就像在Rails中一样。然而,我不想使用整个Rails堆栈来做这件事,因为它看起来有点夸张。

我在网上四处寻找,但没有找到任何东西,比仅仅做一些像这样的事情更好:

代码语言:javascript
复制
Haml::Engine.new(IO.read("header.haml")).render

有没有更好的方法从HAML中包含所谓的部分?我遗漏的现有过滤器或命令?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-09-09 15:19:09

最好将haml & sass与构建静态网站的工具结合起来。以下是一些链接:

  • StaticMatic
  • Serve
  • Haml Jekyll --支持haml.
  • Middleman

Jekyll分支

我正在为我的博客使用jekyll,但是如果你不是在建立一个博客,它可能不适合你的需要。

票数 6
EN

Stack Overflow用户

发布于 2009-09-07 05:35:07

该死,你说得对--没有一种内置的方法。我在haml命令行中使用过帮助器,但总是那些输出已经是超文本标记语言格式的帮助器。

我最好的建议是编写一个partial()方法并请求它。看起来你已经开始走这条路了。我建议任何编写这样的函数的人考虑以某种方式保留原始的绑定。Haml::Helpers#capture_hame看起来是实现这一目标的最简单的方法。

如果执行速度是个问题,那么使用与Merb相同的方式缓存一些已解析的模板可能也是个好主意。

如果有人确实得到了一些代码工作,请把它放在GitHub上,并在这里发表评论。

票数 3
EN

Stack Overflow用户

发布于 2013-12-12 09:54:30

我终于找到了我想要的,所以我想我应该和你分享我的发现。可以简单地使用与最初用于haml的语法相同的语法- http://www.semicomplete.com/blog/geekery/partials-in-haml-in-sinatra.html

/views/file.haml

代码语言:javascript
复制
%h3 Title
%div= haml :content, :layout => false

/views/content.haml

代码语言:javascript
复制
%p your content here
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1386272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档