2016-10-03 131 views
2

我有一個美國各州和各城市的巨型JSON數組,以及關於它們的其他數據。我想在JSON和輸出迭代樹結構是這樣的:從JSON數組生成靜態網站

  1. [阿拉巴馬]
    • 的index.html
    • [阿布維爾]
      • 的index.html
    • [Adamsville]
      • 的index.html
  2. [阿拉斯加]
    • 的index.html
    • [安克雷奇]
      • 的index.html
    • [費爾班克斯]
      • 的index.html
  3. ...等

我有兩個佈局:

  1. state.html
  2. city.html

S遠,我還沒有找到一個好方法來做到這一點。許多靜態gens似乎能夠在內容中使用JSON作爲元數據,但不能用於內容的主要來源。

謝謝!

+0

Jekyll不會這樣做,但我已經讀過關於編寫自定義插件來做這類事情的人。這個鏈接有關他是如何做到的有趣信息:http://jimpravetz.com/blog/2011/12/generating-jekyll-pages-from-data/ – Ron

回答

0

Middleman靜態網站生成器支持這一點。您可以使用其動態頁面創建要創建的頁面列表。數據來自他們的數據文件功能。下面是解釋這些

https://middlemanapp.com/advanced/dynamic_pages/ https://middlemanapp.com/advanced/data_files/

你會做這樣的事情有無states.yml包含的國家和城市的數據

- states 
    - name: Alabama 
     cities: 
     - name: Abbeville 
      pop: X 
     - name: Adamsville 
      pop: Y 

然後例如創建代理的網頁鏈接到的網頁

data.states.each do |state| 
    proxy "/#{state.name}/index.html", "templates/state.html", :locals => {state: state} 
    state.cities.each do |city| 
    proxy "/#{state.name}/#{city.name}/index.html", "/templates/city.html", :locals => {state: state, city: city} 
    end 
end