2016-11-21 26 views
0

我正在運行一個Jekyll站點,該站點使用JSON作爲我的_data文件夾中的數據。我正在像正常處理文件一樣循環播放文件,如{% for item in site.data.resources.items %}就好了。但是,我想解析一個字符串內的YAML前端問題。液體分析字符串中的YAML前端問題

例子:

\n---\nblog: http://google.com\nbackground-img: http://www.ew.com/sites/default/files/i/2013/07/23/Dumb-and-Dumber.jpg\nbuttonText: Download\n---\n

我怎麼能有液體我傑奇網站內解析這個,所以我可以使用它像這樣:

<a href="{{blog}}"><img src="{{background-img}}>Image</a>

或類似的東西?

編輯:澄清,該字符串是在我通過ajax調用檢索的文本文件中的前面的問題格式。所以這個字符串是我回來的迴應,格式不會改變。我希望Liquid可以以某種方式解析這個字符串並尋找前置事物類型的格式。如果沒有,我會恢復我的JavaScript方法。

+0

你問你如何使用yaml front matter來選擇你的數據項? – TBB

+0

我不是開發人員,但是該結構中'blog'項目的'background-img'和'buttonText'子鍵值對?如果是這樣,也許就像前面的內容'item:blog'和內容' TBB

+0

你的前體是什麼樣的?那個長長的字符串實際上是你的主體中的一個價值? 「包含」操作員會工作嗎?像{%if page.url包含「nbackground-img」%} background-img {%endif%}。目前尚不清楚你的設置是什麼。 –

回答

0

這是不可能的。

在生成站點的同時正在解析Liquid/YML,並且您的JSON字符串在站點生成後很久纔可用:它僅在字符串的JSON請求成功之後才存在。

但是,您可以使用javascript,如您所述。只需在\n上爲您的鍵值對分割字符串,並在:上分割您的鍵和值。然後使用jQuery(或普通的javascript)將結果寫入DOM。

祝你好運!

+0

我使用的是咕嘟咕嘟任務先拉的數據,然後將其存儲在我的'_data'文件夾中的JSON文件,然後運行我的生成命令。所以技術上它就在那裏。我想我希望有一種方法可以在Liquid中完成這個任務,但是我開始發現這是不可能的。回到有許多方法來解決這個問題的抽屜板。 –