2016-09-17 53 views
1

在我的簡單Pico(0.9)基礎網站中,我想添加將列出一組對象的類別頁面,每個類別都有所不同,並且在每個標記文件中爲每個對象定義類別。理論上講,應該可以使用{% for object in set %}語法將它們列在樹枝模板中。在Pico CMS content markdown文件中如何定義數組

我也樂意一直用我自己的插件,我的自定義Key Value Pair Label:映射到一個自定義字段在模板中的meta變量中獲得來自.md文件我自己的變量。但我無法讓它與數組一起工作。

顯然,markdown標題使用YAML,我已經閱讀了規範,並且有許多方法可以指定這樣的列表。所以,我曾嘗試之類的東西......

/* 
Title: Example Category Page - Cutlery 
My Items: ['fork', 'spoon', 'knife'] 
*/ 

或者這樣:

/* 
Title: Example Category Page - Cutlery 
My Items: 
- fork 
- spoon 
- knife 
*/ 

但是當這是在模板的代碼加載(與我的插件將其映射到meta.my_items)是這樣的:

{% for item in meta.my_items %} 
    <p>{{ item }}</p> 
{% endfor %} 

沒有顯示數組meta.my_items爲空。

理想情況下,我想將數組中的對象從簡單的字符串展開爲一組KVPs(標題,圖片,描述),我應該可以在YAML中進行這些操作。

所以我的問題是 - 這是實際上支持Pico CMS,如果是的話,我做錯了什麼?

+0

在你試過的兩件事中,YAML代表完全相同的結構,只在樣式(流與塊)上有所不同,但在語義上不同。如果一個人不工作,嘗試另一個是浪費時間。 – Anthon

+0

雖然你在一個完美的世界是正確的 - 這並不完美。我不同意以不同的方式嘗試事情是浪費時間,這可能會導致見解和解決方法。以下是可能暴露的五個問題:1.用戶誤解其中一種樣式的語法,2.微妙的錯字導致語法錯誤,3.其中一種樣式的文檔不正確,4.標準的不完整實現正在使用的YAML解析器,5. YAML解析器中的錯誤。此外,專門爲stackoverflow,它顯示已經完成研究之前我的問題,並不會得到我已經嘗試的答案。 –

回答

1

我試過(版本爲1.0),但我發現的唯一工作解決方案是在名稱中使用uderscore在定義中重命名它。所以,試試這個:

My_Items: ['fork', 'spoon', 'knife'] 

,而不是這樣的:

My Items: ['fork', 'spoon', 'knife'] 

希望這有助於。

+1

我發現升級到pico cms 1.0使得這一切成爲可能。 @Matteo示例中的語法與我的問題的第二個示例中的「dash和line delimited」樣式一樣。不僅如此,我還能夠定義具有多個字段的列表項,這非常有用。升級打破了我主題中的一些東西,但我相信它們可以修復。謝謝。 –