我基本上和Middleman 2一起工作但是如果这只能在Middleman 3中完成我可以切换到它
我layout.haml
拥有所有样板,同时是索引的布局。
现在我希望inner.haml
布局适用于其他页面,继承来自layout.haml
(我将不再重复使用样板部件) ),将包含一些额外的常见样式/脚本,一些常见的标记,然后重新放置yield
块。
目前我根本没有意识到应该从哪里开始。我理解如何将inner.haml
设置为默认布局,将layout.haml
设置为“/”路由的布局,但系统如何知道inner.haml
实际上嵌套在{{} 1}}?
示例设置
layout.haml
layout.haml
index.html.haml
!!!5
%html
%head
%script(src="HTML5 shiv")
%title
My Site
\|
= yield_content :title
= stylesheet_link_tag "site.css"
= yield_content :page_styles
%body
%div(role="main")
= yield_content :content
%script(src="jquery")
= yield_content :page_scripts
inner.haml
- content_for :title do
Index
- content_for :page_styles do
= stylesheet_link_tag "index.css"
- content_for :page_scripts do
%script(src="index.js")
- content_for :content do
Cool banner here
答案 0 :(得分:3)
在3.0中,您index
使用inner
wrap_layout
的布局layout
。
在2.0中,您需要部分和content_for
块的组合。
答案 1 :(得分:0)
乍一看,我很想用两个模板做到这一点。也许不是优雅或干燥,但肯定可以理解,以后容易调整。例如。对于我们的网站,我们有一个front page layout和一个rest of the site layout。然后在每个MiddleMan源文件中,我们声明将使用哪个布局(see example)。
除此之外,我希望从HAML大师那里学到一些东西,这些大师对你的情况有一些魔力!