【问题标题】:how to manually process Liquid tags in Jekyll如何在 Jekyll 中手动处理 Liquid 标签
【发布时间】:2017-02-12 23:47:12
【问题描述】:

我正在创建一个 Jekyll 主题,其中所有在前端实现“可索引”属性的用户页面都呈现在主登录页面中。所以我有'首页布局:

---
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 }} 来手动渲染这些标签?

编辑。截屏:

EDIT2

【问题讨论】:

  • 可以markdownify,但不能liquidify。您的问题在其他地方,但没有完整的代码,很难发现它。任何代码库?
  • @DavidJacquel 是的,尽管现在设置环境可能很乏味。我有两个存储库,一个用于主题,另一个用于 Web 实现。后来我在本地添加了gem。我正在编辑问题以链接到两者。

标签: html ruby markdown jekyll liquid


【解决方案1】:

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

【讨论】:

  • 我认为你应该使用 .output 而不是 .content(来源:jekyllrb.com/docs/collections/#documents)。但是,对于我的情况,它不起作用,因为我试图在帖子中包含来自集合的信息,并且帖子和页面是在集合之前呈现的。因此,我将 .content 与您的插件一起使用,并且效果很好。谢谢!
猜你喜欢
  • 1970-01-01
  • 2015-11-09
  • 1970-01-01
  • 2012-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-24
相关资源
最近更新 更多