我是第一次创建New Middleman网站。我有大约20,000页我想制作静态,除了这个1个黯淡的问题,我几乎就在那里。我有一个每月生成的CSV文件,我将转换为yaml。
我的结构与以下相同:data / people.yml(来自中间人网站的代码)
friends:
-
name: Bob Smith
address: 101 Foo Lane
birth: 1966-03-03
-
name: Mary Johnson
address: 120 Bar St
birth: 1967-06-18
我可以使用以下代码顺利完成:
<% data.people.friends.each do |f| %>
<%= f.name %><br/>
<%= f.address %><br/>
<%= f.birth %><br/><br/>
<% end %>
产生:
鲍勃史密斯 101 Foo Lane我的目标是在用户访问http://www.web_site_here.com/people/bob.html等时获取Bob的信息,
我尝试了几种类似下面的方法,没有运气。
<% data.people.friends.each do |name, person| %>
<%= person.name %>
<% end %>
答案 0 :(得分:0)
您需要为每个人创建代理页面。请参阅此处的示例https://middlemanapp.com/advanced/dynamic-pages/。
您创建了一个模板(例如person.html.erb),它只显示一个人的信息,例如
<%= f.name %><br/>
<%= f.address %><br/>
<%= f.birth %><br/><br/>
然后在你的config.rg中循环访问人员,并使用该模板和yaml数据为每个人创建一个动态页面。
data.people.friends.each do |f|
proxy "/people/#{f.name}.html", "/person.html", :locals => { :f => f }
end