2012-05-27 60 views
0

我已經開始嘗試與中間人和紅寶石。在中間人,如何設置變量?

樣品佈局有這個字符串:

<body class="<%= page_classes %> 

在任何特定的網頁,我該如何設置「PAGE_CLASS」?

+2

我不知道具體中間人,但我要冒險受過教育猜測'page_classes'是不是一個變量,但實際上是一種方法。 – d11wtq

回答

1

可以在config.rb定義變量以@符號,如:

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

,並使其加入到模板中可見,在config.rb:

set :var, @var 

如果它是一個方法,你應該在config.rb的幫助部分下定義它。

3

<%= page_classes %>是Middleman的默認視圖助手之一,並根據當前頁面的文件名和目錄返回一個字符串。 G。

  • /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

編輯:甚至更​​多的選項添加到由馬雷克提供的答案,你可以使用

這兩者都是描述在Middleman的網站/文檔上。
請注意,通過YAML Frontmatter設置的變量也可在您的layouts中找到。

0

可以在config.rb

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

在模板中定義的變量,你將不得不使用

config[:var]