From 24f60083a2705553892986e955d35512b8c1b95c Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Mon, 10 Mar 2014 00:21:21 -0700 Subject: [PATCH] add yearly and monthly archive indexes --- bin/rss.rb | 3 +- public/_layout.ejs | 25 ++++++------- public/archive.ejs | 6 ++-- public/css/style.css.less | 15 ++++---- public/index.ejs | 10 +++--- public/posts/2006/02/index.ejs | 1 + public/posts/2006/03/index.ejs | 1 + public/posts/2006/04/index.ejs | 1 + public/posts/2006/05/index.ejs | 1 + public/posts/2006/06/index.ejs | 1 + public/posts/2006/07/index.ejs | 1 + public/posts/2006/08/index.ejs | 1 + public/posts/2006/09/index.ejs | 1 + public/posts/2006/12/index.ejs | 1 + public/posts/2006/index.ejs | 1 + public/posts/2007/03/index.ejs | 1 + public/posts/2007/04/index.ejs | 1 + public/posts/2007/05/index.ejs | 1 + public/posts/2007/06/index.ejs | 1 + public/posts/2007/07/index.ejs | 1 + public/posts/2007/08/index.ejs | 1 + public/posts/2007/09/index.ejs | 1 + public/posts/2007/10/index.ejs | 1 + public/posts/2007/index.ejs | 1 + public/posts/2008/01/index.ejs | 1 + public/posts/2008/02/index.ejs | 1 + public/posts/2008/03/index.ejs | 1 + public/posts/2008/index.ejs | 1 + public/posts/2009/11/index.ejs | 1 + public/posts/2009/index.ejs | 1 + public/posts/2010/01/index.ejs | 1 + public/posts/2010/11/index.ejs | 1 + public/posts/2010/index.ejs | 1 + public/posts/2011/11/index.ejs | 1 + public/posts/2011/12/index.ejs | 1 + public/posts/2011/index.ejs | 1 + public/posts/2012/01/index.ejs | 1 + public/posts/2012/index.ejs | 1 + public/posts/2013/03/index.ejs | 1 + public/posts/2013/09/index.ejs | 1 + public/posts/2013/index.ejs | 1 + public/posts/2014/02/index.ejs | 1 + public/posts/2014/index.ejs | 1 + public/posts/_month.ejs | 52 +++++++++++++++++++++++++++ public/posts/_year.ejs | 64 ++++++++++++++++++++++++++++++++++ server/meta_weblog_handler.rb | 18 +++++++++- 46 files changed, 199 insertions(+), 32 deletions(-) create mode 100644 public/posts/2006/02/index.ejs create mode 100644 public/posts/2006/03/index.ejs create mode 100644 public/posts/2006/04/index.ejs create mode 100644 public/posts/2006/05/index.ejs create mode 100644 public/posts/2006/06/index.ejs create mode 100644 public/posts/2006/07/index.ejs create mode 100644 public/posts/2006/08/index.ejs create mode 100644 public/posts/2006/09/index.ejs create mode 100644 public/posts/2006/12/index.ejs create mode 100644 public/posts/2006/index.ejs create mode 100644 public/posts/2007/03/index.ejs create mode 100644 public/posts/2007/04/index.ejs create mode 100644 public/posts/2007/05/index.ejs create mode 100644 public/posts/2007/06/index.ejs create mode 100644 public/posts/2007/07/index.ejs create mode 100644 public/posts/2007/08/index.ejs create mode 100644 public/posts/2007/09/index.ejs create mode 100644 public/posts/2007/10/index.ejs create mode 100644 public/posts/2007/index.ejs create mode 100644 public/posts/2008/01/index.ejs create mode 100644 public/posts/2008/02/index.ejs create mode 100644 public/posts/2008/03/index.ejs create mode 100644 public/posts/2008/index.ejs create mode 100644 public/posts/2009/11/index.ejs create mode 100644 public/posts/2009/index.ejs create mode 100644 public/posts/2010/01/index.ejs create mode 100644 public/posts/2010/11/index.ejs create mode 100644 public/posts/2010/index.ejs create mode 100644 public/posts/2011/11/index.ejs create mode 100644 public/posts/2011/12/index.ejs create mode 100644 public/posts/2011/index.ejs create mode 100644 public/posts/2012/01/index.ejs create mode 100644 public/posts/2012/index.ejs create mode 100644 public/posts/2013/03/index.ejs create mode 100644 public/posts/2013/09/index.ejs create mode 100644 public/posts/2013/index.ejs create mode 100644 public/posts/2014/02/index.ejs create mode 100644 public/posts/2014/index.ejs create mode 100644 public/posts/_month.ejs create mode 100644 public/posts/_year.ejs diff --git a/bin/rss.rb b/bin/rss.rb index 88b823e..2c6d260 100755 --- a/bin/rss.rb +++ b/bin/rss.rb @@ -68,6 +68,7 @@ class Blag def posts @posts ||= begin Dir[File.join(@dir, 'posts/20*/*')].map do |dir| + next unless dir =~ /\/\d\d$/ json = File.read File.join(dir, '_data.json') data = JSON.parse json prefix = dir.sub(@dir, '') @@ -85,7 +86,7 @@ class Blag post['rfc822'] = Time.at(post['timestamp']).rfc822 post end - end.flatten.sort_by { |p| -p['timestamp'] }.first(@num_posts) + end.flatten.compact.sort_by { |p| -p['timestamp'] }.first(@num_posts) end end diff --git a/public/_layout.ejs b/public/_layout.ejs index 5e0f483..846c540 100644 --- a/public/_layout.ejs +++ b/public/_layout.ejs @@ -94,10 +94,10 @@ <%- yield %> -
-

-
+
+

+
<% } else if (typeof date != 'undefined') { -%>
@@ -105,25 +105,20 @@
<%- yield %> -
-

-
+
+

+
<% } else if (typeof title != 'undefined') { -%>

<%= title %>

<%- yield %> -
-

-
+
+

+
<% } else { -%> -
- <%- yield %> -
-

-
-
+ <%- yield %> <% } -%>