В посреднике, как установить переменные?

Я начал экспериментировать с посредником и рубином.

Образец макета имеет эту строку:

<body class="<%= page_classes %>

На любой данной странице, как мне установить «page_class»?


person user1419762    schedule 27.05.2012    source источник
comment
Я не уверен конкретно в посреднике, но рискну предположить, что page_classes не является переменной, а на самом деле является методом.   -  person d11wtq    schedule 27.05.2012


Ответы (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 для 'page_classes').

Используя фрагмент образца макета, который вы опубликовали, вы можете оформить свои страницы или выделите соответствующий элемент навигации с помощью CSS.

Изменить. Чтобы добавить еще больше вариантов ответов, предоставленных Мареком, вы можете использовать

оба они описаны на веб-сайте/в документации Middleman.
Обратите внимание, что переменные, установленные через YAML Frontmatter, также становятся доступными в вашем макеты.

person fk_    schedule 13.09.2012

Вы можете определить переменную в config.rb с помощью символа @, например:

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

и сделайте его видимым для шаблонов, добавив в config.rb:

set :var, @var

если это метод, вы должны просто определить его в вспомогательном разделе config.rb.

person Marek Maurizio    schedule 06.08.2012

Вы можете определить переменную в config.rb

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

В вашем шаблоне вам будут доступны

config[:var]
person TWONEKSONE    schedule 19.09.2016