私は大きな方法でジキルールに入っていて、それを一般的なフロントエンド開発プラットフォームとして使いたいのですが、液体テンプレート言語特にDjangoテンプレートとの違い。ジャンゴ様の液体ブロック/継承を使用するジキールテンプレート
私は、Djangoのすべての重要なExtendsとBlockの構文を追加する液体継承宝石を発見しました。このブログ記事は、ジキルのファイルシステムに合わせて、さらに宝石を拡張: http://www.sameratiani.com/2011/10/22/get-jekyll-working-with-liquid-inheritance.html
問題は、基本的に役に立たない宝石をレンダリングした、Djangoはない全く同じようにブロックを実装するために表示されないことです。
私は理解のために - parent.htmlとchild.htmlという2つのジキル "レイアウト"を持っています。どちらもYAMLセクションを含んでいません。
親
<html>
{% block foo %} {% endblock %}
</html>
子供
{% extends _layouts/parent.html %}
{% block foo %}
<div>
Bar comes next:
{% block bar %} {% endblock %}
</div>
{% endblock %}
そして私は、このようにYAML部を備えジキルページを持っている:
---
title: test
---
{% extends _layouts/child.html %}
{% block bar %}My title is {{ page.title }} {% endblock %}
私が期待するもの:
<html>
<div>
Bar comes next:
My title is test
</div>
</html>
は、私が何を得る:
<html>
<div>
Bar comes next:
</div>
</html>My title is test
それは明らかにまだ何かをやっているが、何かが、親/子の、適切な場所に挿入するための資格として、mypage.html内のブロックを処理するために失敗しているようです。
私はRubyデベロッパーではなく、Jekyllには新しくなっているので、このスタックのどの部分が失敗しているかを確認するのに役立つ必要があります。 https://github.com/danwrong/liquid-inheritance/issues/3
液体相続のいくつかのフォークを試しましたが、その多くは明らかにその問題の正規表現を修正していますが、これを解決するものはありません。
私は根本的に不可能なのですか?私はそこの道の少なくとも85%のようで、最終的なビットは修正が必要です。
私はちょっとテストしたところ、液体の継承は*レイアウト*でうまくいきますが、実際のコンテンツ*ページになると失敗することがわかりました。これはあなたの問題がどこにあるかと思います(しかし、一度コンテンツの特定の部分に落ちると、私はYAMLがあなたのコンテンツ領域にブロックを置くよりも、補助的なコンテンツを含むより良い方法だと確信しています。 – heliotrope
YAMLは確かにそれを行う最良の方法ですが、大部分のコンテンツが単なるHTMLの分離不可能なブロックである場合には、不必要に複雑になります。 タイトルとは別に、本当に必要な膨大な量の生データはありません。 YAMLのHTMLは不器用でメンテナンスが難しいと記述しています。 – xcession