我开始尝试使用中间人和红宝石。
示例布局包含以下字符串:
<body class="<%= page_classes %>
在任何给定页面上,如何设置'page_class'?
答案 0 :(得分:3)
<%= page_classes %>
是Middleman的默认视图帮助程序之一,它根据当前页面的文件名和目录返回一个字符串,例如:克。
/index.html
,它会返回index
/folder1/index.html
,它会返回folder1 folder1_index
/folder1/folder2/page.html
,它会返回folder1 folder1_folder2 folder1_folder2_page
等等(以上示例改编自Middleman's Relish documentation for 'page_classes')。
使用您发布的示例布局中的代码段,您可以设置网页样式或highlight the corresponding navigation item via CSS。
编辑:要为Marek提供的答案添加更多选项,您可以使用
这两个都在Middleman的网站/文档中有描述 请注意,通过YAML Frontmatter设置的变量也可以在layouts中使用。
答案 1 :(得分:1)
您可以使用@符号在config.rb中定义变量,例如:
@var = ["something", "here", ...]
并通过在config.rb中添加
使模板可见set :var, @var
如果它是一个方法,你应该在config.rb的helper部分下定义它。
答案 2 :(得分:0)
您可以在config.rb中定义变量
set :var, ["something", "here"]
在您的模板中,您将可以使用
config[:var]