我已经开始尝试使用中间人和红宝石。
示例布局具有以下字符串:
<body class="<%= page_classes %>
在任何给定页面上,如何设置“page_class”?
<%= page_classes %>
是 Middleman 的默认视图助手之一,并根据当前页面的文件名和目录返回一个字符串,例如
/index.html
它返回index
/folder1/index.html
它返回folder1 folder1_index
/folder1/folder2/page.html
它返回folder1 folder1_folder2 folder1_folder2_page
依此类推(以上示例改编自Middleman 的 'page_classes' 文档)。
使用您发布的示例布局中的片段,您可以设置页面样式或通过 CSS 突出显示相应的导航项。
编辑:要为 Marek 提供的答案添加更多选项,您可以使用
两者都在 Middleman 的网站/文档中进行了描述。
请注意,通过 YAML Frontmatter 设置的变量也可以在您的布局中使用。
您可以在 config.rb 中使用 @ 符号定义变量,例如:
@var = ["something", "here", ...]
并通过在 config.rb 中添加使其对模板可见:
set :var, @var
如果它是一个方法,你应该在 config.rb 的 helper 部分下定义它。
您可以在 config.rb 中定义变量
set :var, ["something", "here"]
在您的模板中,您将可以使用
config[:var]