Szablony Jekyll używające bloków cieczowych / dziedziczenia podobnych do django
Wchodzę w Jekyll w wielkim stylu i chciałbym używać go jako ogólnej platformy programistycznej, ale działam przeciwko ograniczeniom płynnego języka szablonów, a konkretnie jego różnicy w szablonach Django.
Odkryłem klejnot dziedziczenia cieczy, który dodaje do Django ważną składnię Rozszerzenia i Blokowanie. Ten wpis na blogu rozszerza klejnot w celu dostosowania go do systemu plików Jekylla:http://www.sameratiani.com/2011/10/22/get-jekyll-working-with-liquid-inheritance.html
Problem polega na tym, że nie wydaje się, aby implementował bloki dokładnie w ten sam sposób, w jaki robi to Django, co zasadniczo czyni klejnot bezużytecznym.
Mam dwa „układy” jekylla nazywane - ze względu na zrozumienie - parent.html i child.html. Żadne z nich nie zawiera sekcji YAML.
Rodzic
<html>
{% block foo %} {% endblock %}
</html>
Dziecko
{% extends _layouts/parent.html %}
{% block foo %}
<div>
Bar comes next:
{% block bar %} {% endblock %}
</div>
{% endblock %}
A potem mam stronę jekyll, która zawiera sekcję YAML:
---
title: test
---
{% extends _layouts/child.html %}
{% block bar %}My title is {{ page.title }} {% endblock %}
Czego oczekiwałbym:
<html>
<div>
Bar comes next:
My title is test
</div>
</html>
Co dostaję:
<html>
<div>
Bar comes next:
</div>
</html>My title is test
Wydaje się, że coś nie jest w stanie potraktować bloków w mypage.html jako kwalifikujących się do umieszczenia w odpowiednich miejscach rodzica / dziecka, chociaż najwyraźniej nadal coś robi.
Nie jestem programistą ruby i jestem całkiem nowy w Jekyll, więc potrzebuję pomocy w określeniu, która część tego stosu zawodzi. Problemy z dziedziczeniem cieczy na github sugerują, że inni doświadczają tego problemu z zagnieżdżaniem bloków:https://github.com/danwrong/liquid-inheritance/issues/3
Wypróbowałem kilka widelców dziedziczenia cieczy, z których wiele najwyraźniej rozwiązuje ten problem, ale żaden z nich nie rozwiązuje tego.
Czy to, co zamierzam zrobić, jest zasadniczo niemożliwe? Wygląda na to, że mam co najmniej 85% drogi, a ostatni kawałek wymaga naprawy.