0

我已经开始尝试使用中间人和红宝石。

示例布局具有以下字符串:

<body class="<%= page_classes %>

在任何给定页面上,如何设置“page_class”?

4

3 回答 3

3

<%= 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 设置的变量也可以在您的布局中使用。

于 2012-09-13T01:28:50.040 回答
1

您可以在 config.rb 中使用 @ 符号定义变量,例如:

@var = ["something", "here", ...]

并通过在 config.rb 中添加使其对模板可见:

set :var, @var

如果它是一个方法,你应该在 config.rb 的 helper 部分下定义它。

于 2012-08-06T21:48:26.210 回答
0

您可以在 config.rb 中定义变量

set :var, ["something", "here"]

在您的模板中,您将可以使用

config[:var]
于 2016-09-19T15:06:41.000 回答