2016-10-04 66 views
3

我正在創建一個Jekyll主題,其中在前端內容中實現'可索引'屬性的所有用戶頁面都呈現在主着陸頁中。所以,我有「頭版佈局:如何在Jekyll中手動處理Liquid標籤

--- 
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

+0

您可以markdownify,但你不能liquidify。你的問題在其他地方,但沒有完整的代碼,很難發現它。任何代碼庫? –

+0

@DavidJacquel是的,雖然現在設置一個環境可能會很乏味。我有兩個回購站,一個用於主題,另一個用於Web實施。在後來我在本地添加了寶石。無論如何,我正在編輯問題以鏈接到兩個問題。 – sonirico

回答

2

好,儘管我仍然不知道該問題是否是在我的代碼,我張貼我如何設法解決它。基本上,我創建了一個名爲liquefy的過濾器標籤,該標籤已放入.gem,其主要任務是將帶有降格或/和液體語法的文本作爲參數進行解析和呈現。

+1

我認爲你應該使用.output而不是.content(來源:http://jekyllrb.com/docs/collections/#documents)。但是,對於我的情況,這並不奏效,因爲我試圖在帖子中包含來自收藏集的信息,並且帖子和頁面在收集之前呈現。所以我用你的插件的內容,它完美的工作。謝謝! – theJoi