Dostaję się do Jekyll w wielkim stylu i chciałbym go używać jako ogólnej platformy programistycznej, ale podążam wbrew ograniczeniom języka szablonów Liquid. , w szczególności jego różnica z szablonem Django.Szablony Jekylla używające płynnych bloków/dziedziczenia typu Django
Odkryłem klejnotowy spadek cieczy, który dodaje najważniejszą składnię Extends i Block z Django. Ten blogu rozciąga gem dodatkowo dostosowane system plików Jekyll'a: http://www.sameratiani.com/2011/10/22/get-jekyll-working-with-liquid-inheritance.html
Problemem jest to, że nie wydaje się, aby wdrożyć bloków w dokładnie ten sam sposób, co robi Django istocie czyni gem bezużyteczne.
Mam dwa "układy" jekyll nazwane - ze względu na zrozumienie - parent.html i child.html. Żadne z nich nie zawiera sekcji YAML.
nadrzędna
<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óry zawiera sekcję YAML tak:
---
title: test
---
{% extends _layouts/child.html %}
{% block bar %}My title is {{ page.title }} {% endblock %}
czego można oczekiwać:
<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ę coś nie udaje się leczyć bloki w mojastrona.html jako kwalifikujące się do umieszczania w odpowiednich miejscach rodzica/dziecka, choć to oczywiście wciąż robi coś.
Nie jestem programistą ruby i jestem całkiem nowy w Jekyll, potrzebuję więc 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 bloku: https://github.com/danwrong/liquid-inheritance/issues/3
Próbowałem kilku rozwidleń płynności - wiele z nich najwyraźniej rozwiązuje ten problem, ale żaden z nich nie rozwiązuje tego problemu.
Czy to, co robię, robię zasadniczo niemożliwe? Wygląda na to, że mam co najmniej 85% drogi, a ostateczna wersja wymaga naprawy.
Po prostu przetestowałem i okazało się, że chociaż dziedziczenie płynów działa poprawnie na * układach *, to kończy się niepowodzeniem, gdy dojdziesz do rzeczywistych stron * zawartości *, co moim zdaniem jest tam, gdzie powstaje twój problem (który - jak już powiedziałem - kiedy przejdziesz do określonego fragmentu treści, nadal jestem przekonany, że YAML jest lepszym sposobem na dołączanie treści pomocniczych niż umieszczanie bloków w obszarze treści ... – heliotrope
YAML to zdecydowanie najlepszy sposób na zrobienie tego, ale staje się niepotrzebnie skomplikowane, jeśli większość twoich treści to po prostu duże bloki nierozłącznego kodu HTML. Oprócz tytułu, nie ma zbyt wielu nieprzetworzonych danych, których naprawdę potrzebuję _proces_. Wystarczy wstawić duże fragmenty kodu HTML do , nieciągłe regiony strony. Opisywanie tego HTML-a w YAML jest niezdarne i nie do zniesienia. – xcession