相关疑难解决方法(0)

Jekyll模板使用类似django的液体块/继承

我正在以一种很大的方式进入Jekyll,并希望将其用作一般的前端开发平台,但是我遇到了Liquid模板语言的局限性,特别是它与Django模板的区别.

我发现了液体继承宝石,它添加了Django中最重要的Extends和Block语法.此博客文章进一步扩展了宝石以适应Jekyll的文件系统:http: //www.sameratiani.com/2011/10/22/get-jekyll-working-with-liquid-inheritance.html

问题是它似乎没有以与Django完全相同的方式实现块,这实际上使得gem无用.

为了理解,我有两个jekyll"布局" - parent.html和child.html.这些都不包含YAML部分.

<html>
{% block foo %} {% endblock %}
</html>
Run Code Online (Sandbox Code Playgroud)

儿童

{% extends _layouts/parent.html %}
{% block foo %}
  <div>
    Bar comes next:
    {% block bar %} {% endblock %}
  </div>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

然后我有一个jekyll页面,其中包含一个YAML部分:

---
title: test
---

{% extends _layouts/child.html %}
{% block bar %}My title is {{ page.title }} {% endblock %}
Run Code Online (Sandbox Code Playgroud)

我期待的是:

<html>
  <div>
    Bar comes next:
    My title is test
  </div>
</html>
Run Code Online (Sandbox Code Playgroud)

我得到了什么:

<html>
  <div>
    Bar …
Run Code Online (Sandbox Code Playgroud)

ruby django inheritance liquid jekyll

11
推荐指数
1
解决办法
2580
查看次数

标签 统计

django ×1

inheritance ×1

jekyll ×1

liquid ×1

ruby ×1