Jekyll: жидкий пользовательский оператор вывода для динамических классов CSS

Мой сайт Jekyll имеет два вида контента: персональный и профессиональный.

Я хотел бы подчеркнуть, какой тип контента в настоящее время читает посетитель с помощью динамических классов CSS:

  • Если посетитель находится на странице, помеченной как "личная", мой <main> класс элемента должен быть "personal-content",
  • Если посетитель находится на странице, помеченной как "профессиональный", мой <main> класс элемента должен быть "professional-content",
  • В противном случае класс должен быть "site-content",

В начале каждой страницы я создаю оператор вывода, который я устанавливаю в "personal" или же "professional", например:

---
content: "personal"
----

Затем я использую это выражение вывода в своем теге так: (с отступом для чтения)

<main
{% if page.content %}
    class="{{ page.content }}-content"
    {% else %}
        class="site-content"
{% endif %}
>

Однако я вижу только стиль из моего site-content учебный класс. Что я сделал не так?

1 ответ

Решение

Благодаря комментариям выше, я исправил это!

Проблема заключалась в том, что я не использовал пользовательский оператор вывода, как мне казалось: {{ content }}Jekyll уже используется для включения статей по уценке в макеты HTML.

Итак, я переключился {{ page.content }} в {{ page.contenttype }} и работает отлично!

Предостережение: мне также пришлось изменить значения, которые я давал в своем выводе. professional работал нормально, но по какой-то причине personal возвращался nil, Поэтому я просто переключил их на pro а также perso и вуаля.

Другие вопросы по тегам