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