如何在Jekyll中手动处理Liquid标签

时间:2016-10-04 17:41:42

标签: html ruby markdown jekyll liquid

我正在创建一个Jekyll主题,其中在前端内容中实现'indexable'属性的所有用户页面都在主着陆页中呈现。所以我有'首页布局:

---
layout: root
---

{% assign custom_pages = site.pages | where: 'indexable', true | sort: 'priority' | reverse %}

{% include header.html %}

{% for c_page in custom_pages %}
<div class="container {{ c_page.class | default: '' }}" >
    {{ c_page.content }}
</div>
{% endfor %}


{% include footer.html %}
{% include javascripts.html %}

将要处理的示例页面:

---
layout: page
title: Us
permalink: /us/
indexable: true
priority: 10
class: us-page
---

<div class="row">
    {% for member in site.data.members %}
    <div class="col-sm-6">
        <div class="card card-block">
            <img src="{{ member.gravatar }}?s=256" alt="Avatar">
            <h4 class="card-title text-xs-center">{{ member.name }}</h4>
            <p class="card-text">{{ member.description | markdownify }}</p>
            <p class="card-text">
                {% for tag in member.expertise_areas %}
                    <span>{{ tag }}</span>
                {% endfor %}
            </p>
            <a href="{{ member.blog }}" class="btn btn-primary" role="button" >Mi blog</a>
        </div>
    </div>
    {% endfor %}
</div>

然而,液体标签看起来是未经处理的,就像输出{% raw %}一样。我可以通过{{ c_page.content | magic_here }}来手动获取这些标签吗?

修改即可。截图: enter image description here

EDIT2

1 个答案:

答案 0 :(得分:3)

好吧,尽管我仍然不知道问题是否在我的代码中,但我发布的是我如何设法解决它。基本上我创建了一个名为liquefy的过滤器标签,它已放在.gem中,其主要任务是将带有markdown或/和液体语法的文本作为参数进行解析和渲染。