Шаблоны Jekyll с использованием django-подобных жидких блоков / наследования
Я вхожу в Jekyll широко и хотел бы использовать его как общую платформу для фронт-энда, но я сталкиваюсь с ограничениями языка шаблонов Liquid, в частности с его отличием от шаблонизаторов Django.
Я обнаружил гем жидкостного наследования, в который добавлен важнейший синтаксис Extends и Block от Django. Этот пост в блоге расширяет драгоценный камень, чтобы удовлетворить Jekyll 'файловая система:http://www.sameratiani.com/2011/10/22/get-jekyll-working-with-liquid-inheritance.html
Проблема в том, что это неПохоже, что реализует блоки точно так же, как это делает Django, что, по сути, делает драгоценный камень бесполезным.
У меня два джекиламакеты» вызывается - для понимания - parent.html и child.html. Ни один из них не содержит разделов YAML.
родитель
{% block foo %} {% endblock %}
ребенок
{% extends _layouts/parent.html %}
{% block foo %}
Bar comes next:
{% block bar %} {% endblock %}
{% endblock %}
И тогда у меня есть страница Jekyll, которая включает в себя раздел YAML таким образом:
---
title: test
---
{% extends _layouts/child.html %}
{% block bar %}My title is {{ page.title }} {% endblock %}
Что я'буду ожидать:
Bar comes next:
My title is test
Что я получаю:
Bar comes next:
My title is test
Кажется, что-то не в состоянии обработать блоки в mypage.html как подходящие для вставки в подходящие места parent / child, хотя это 'Я явно все еще что-то делаю.
Я не разработчик ruby и довольно плохо знаком с Jekyll, поэтому мне нужна помощь, чтобы определить, какая часть этого стека выходит из строя. Проблемы жидкостного наследования на github позволяют предположить, что другие испытывают эту проблему с вложенностью блоков:https://github.com/danwrong/liquid-inheritance/issues/3I»
Мы попробовали несколько форков жидкого наследования, многие из которых, по-видимому, решают эту проблему, но, похоже, ни одна из них не решает эту проблему.
Это то, что ясделать это принципиально невозможно? Кажется, ям, по крайней мере, 85% пути, и последний бит нуждается в исправлении.