我一直在玩Jekyll一段時間。在某些情況下,我覺得功能有限。所以我打算用這種方式來擴充我的網站:Jekyll - 將完整的YAML前端轉換爲XML/JSON
- 只使用Jekyll渲染一些固定和基本組件(向後兼容不支持JS的環境)。
- 使用Jekyll輸出元數據,例如XML或JSON。
- 使用客戶端JS和元數據提供更豐富的功能。
當必填項已修復時,該任務很簡單。例如人們可能會使用Jekyll生成RSS(xml)提要;有些人使用Jekyll生成一個搜索索引(xml帶有「標題」,「日期」等)。
現在我想給我的模板的最終用戶更多的自由,所以我不會限制在YAML前端使用哪些字段。有沒有一種方便的方法將完整的YAML前端轉換爲JSON轉換爲XML格式?
我沒有在Jekyll或Liquid手冊中找到傾銷完整YAML前端的支持。如果我輸出{{ page }}
直接,這就是結果:
{"name"=>"Google", "date"=>#, "link"=>"http://google.com/", "open_source"=>false, "open_format"=>false, "rate_use"=>10, "rate_quality"=>9, "tags"=>["Google", "Search Engine", "Information Retrieval"], "language"=>"en", "layout"=>"default", "mathjax"=>false, "url"=>"/sample/google.html", "content"=>"The search engine I use everyday. \n\n"}
至少存在兩個問題:
- 我需要在JS紅寶石到JSON/XML轉換器。 (或者一個解析器直接將其作爲JS數據結構讀取)。
- 某些字段輸出不正確,例如
date
。
希望有人能指點我相關的資源和以前的試驗這樣。
非常感謝。
(這是從jekyll-rb Google Group重定向來獲得更快的響應)
相關問題:
- Jekyll - generating JSON files alongside the HTML files。 JekyllBot的指針很有用,但需要更多的設置。我不想打擾我的最終用戶。最好的是隻使用標準的Jekyll和Liquid設施。
你想創建一個包含所有頁面的YAML(如JSON),或爲每個頁面創建一個單獨的文件(第一個是可能只是一個大的JSON文件與jekyll,後者不是那麼多)? – Polygnome
@Polygnome,我原本是指後者,但前者也可以是一種解決方法(性能較差,因爲客戶端JS會讀取不相關的信息)。當frontmatter中使用的字段是固定的,這不是問題。我們可以迭代所有頁面,然後遍歷所有預期的字段。我試圖用這種方式建立一個站內搜索索引。但是,當頁面具有自定義的前置字段時,我不知道如何將它們全部轉儲。 –
對不起,遲到了....我剛剛發現了SF的評論通知。嘆。 –