Можете ли вы использовать переменные страницы Jekyll в макете?
Я использую Jekyll для своего блога, и мне хотелось бы использовать уникальный стиль CSS в конкретных сообщениях. Прямо сейчас, я указываю CSS файл в переднем поле YAML, например:
style: artdirection.css
и используя его в макете, как это:
{% if page.style %}
<link rel="stylesheet" href="{{ page.style }}">
{% endif %}`
Это работает, но я бы предпочел включить фактический стиль CSS в теге стиля в frontmatter страницы вместо ссылки на таблицу стилей.
Я попытался разобраться с этим несколькими способами, включая метод, описанный здесь, но переменная, которую я захватил, используется только для использования внутри самой записи, а не в макете.
Итак, возможно ли это?
Ответы
Ответ 1
Я уверен, что это сработает:
---
title: xxx
style: |
/* You can put any CSS here */
/* Just indent it with two spaces */
/* And don't forget the | after "style: " */
h2 {
color: red;
}
---
Your markdown/textile goes here. h2s will be red
И затем в вашем макете:
<style type="text/css">
{{ page.style }}
</style>
И это должно быть.
Ответ 2
Jekyll 3 нарушение изменения
Теперь переменные, объявленные в макете front-matter (_layouts/default.html
), видны через:
{{ layout.style }}
вместо старшего:
{{ page.style }}
https://github.com/jekyll/jekyll/issues/4123