From dd52ff6e8f7a0046fa397ecbb6f1f025fb6b6639 Mon Sep 17 00:00:00 2001 From: Murray Steele Date: Thu, 8 Jan 2015 22:48:19 +0000 Subject: [PATCH] Hide files that don't have status Published in their frontmatter We use a ready hook in the config.rb to scan through the sitemap and explicitly ignore any files without frontmatter that sets them as published. We also explicitly keep .htaccess files and anything taht looks like an asset (for now that's anything in javascripts/, stylesheets/, or images/). I guess this is laying some groundwork to make #18 and #19 more worthwhile. --- config.rb | 10 ++++++++++ source/meetings/meetings_index.html.erb | 4 ++++ source/rss/template.rss.builder | 3 +++ 3 files changed, 17 insertions(+) diff --git a/config.rb b/config.rb index 010f5b3b..16c94913 100644 --- a/config.rb +++ b/config.rb @@ -99,3 +99,13 @@ years.each do |year| proxy "/meetings/#{year}/index.html", "/meetings/meetings_index.html", locals: { year: year }, ignore: true end + +ready do + sitemap.resources. + reject { |r| r.data.status && r.data.status == 'Published' }. # keep published files + reject { |r| r.path =~ %r{(javascripts|images|stylesheets)/} }. # and assets + reject { |r| r.path =~ %r{\.htaccess\Z} }. # and .htaccess files + each do |unpublished| + ignore unpublished.path + end +end diff --git a/source/meetings/meetings_index.html.erb b/source/meetings/meetings_index.html.erb index 0429e975..0749cbc9 100644 --- a/source/meetings/meetings_index.html.erb +++ b/source/meetings/meetings_index.html.erb @@ -1,3 +1,7 @@ +--- +status: 'Published' +--- + <% meetings = meeting_pages.select { |page| page.path.include? "/#{locals[:year]}/" } content_for(:title) { "#{locals[:year]} Meetings" } diff --git a/source/rss/template.rss.builder b/source/rss/template.rss.builder index da8c4332..4c9f4c84 100644 --- a/source/rss/template.rss.builder +++ b/source/rss/template.rss.builder @@ -1,3 +1,6 @@ +--- +status: Published +--- articles = pages_in_category(category).take(10) site_url = "http://lrug.org/"