Я начал экспериментировать с посредником и рубином.
Образец макета имеет эту строку:
<body class="<%= page_classes %>
На любой данной странице, как мне установить «page_class»?
Я начал экспериментировать с посредником и рубином.
Образец макета имеет эту строку:
<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's Relish для 'page_classes').
Используя фрагмент образца макета, который вы опубликовали, вы можете оформить свои страницы или выделите соответствующий элемент навигации с помощью CSS.
Изменить. Чтобы добавить еще больше вариантов ответов, предоставленных Мареком, вы можете использовать
оба они описаны на веб-сайте/в документации Middleman.
Обратите внимание, что переменные, установленные через YAML Frontmatter, также становятся доступными в вашем макеты.
Вы можете определить переменную в config.rb с помощью символа @, например:
@var = ["something", "here", ...]
и сделайте его видимым для шаблонов, добавив в config.rb:
set :var, @var
если это метод, вы должны просто определить его в вспомогательном разделе config.rb.
Вы можете определить переменную в config.rb
set :var, ["something", "here"]
В вашем шаблоне вам будут доступны
config[:var]
page_classes
не является переменной, а на самом деле является методом. - person d11wtq   schedule 27.05.2012