如何忽略Middleman Sitemap中的页面

时间:2015-04-07 18:21:51

标签: ruby sitemap middleman

我是Middleman(和Ruby)的新手,正在研究HTML和XML站点地图。我已使用此method正确生成了站点地图。

<% pages = sitemap.resources.find_all{|p| p.source_file.match(/\.html/) } %>
<?xml version="1.0" encoding="UTF-8"?>
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <% pages.each do |p| %>
  <url>
  <loc>http://youdomain.com/<%=p.destination_path.gsub('/index.html','')%></loc>
  <priority>0.7</priority> 
</url>
<% end %>
</urlset>

但这是网站中的所有.html页面。如何从查询中排除某些页面(封闭内容,AB测试页等),以便它们不包含在站点地图中?

1 个答案:

答案 0 :(得分:4)

只需在.find_all块中添加更多条件:

.find_all { |p|
  p.source_file.match(/\.html/)
  && p.whatever !== 'something'
}