diff options
-rw-r--r-- | lib/blog.rb | 13 | ||||
-rwxr-xr-x | scripts/build.rb | 2 | ||||
-rw-r--r-- | src/blog.html.erb | 2 | ||||
-rw-r--r-- | src/index.html.erb | 2 |
4 files changed, 15 insertions, 4 deletions
diff --git a/lib/blog.rb b/lib/blog.rb index 96e79dd..fe552e5 100644 --- a/lib/blog.rb +++ b/lib/blog.rb @@ -3,12 +3,22 @@ require 'date' def parse_post filename file_raw = File.read(src filename).force_encoding('UTF-8').split('---') post = YAML.load file_raw[0] + post['date'] = DateTime.parse(post['date']) - post['content'] = file_raw[1].strip + post['raw_content'] = file_raw[1].strip post['filename'] = filename + post['id'] = "blog_#{basename_no_extension filename}" post end +def basename_no_extension filename + File.basename filename.sub(/\.[\w.]*$/, '') +end + +def compile_post post + post['content'] = ERB.new(post['raw_content']).result binding +end + def generate_blog_post post ERB.new(File.read(src 'post-template.html.erb')).result binding end @@ -27,6 +37,7 @@ end def write_blog_files posts.each do |post| + compile_post post content = ERB.new(File.read(src 'post-template.html.erb')).result binding write_templated content, post['filename'], head_title: post['title'], h1_title: 'Blog.' end diff --git a/scripts/build.rb b/scripts/build.rb index aad1c00..fd78c7b 100755 --- a/scripts/build.rb +++ b/scripts/build.rb @@ -45,7 +45,7 @@ if !Dir.exists? 'public/blog' end posts.each do |post| - P.add post['title'], post['filename'] + P.add post['id'], post['filename'] end write_statics statics diff --git a/src/blog.html.erb b/src/blog.html.erb index bd7b8aa..3709ca9 100644 --- a/src/blog.html.erb +++ b/src/blog.html.erb @@ -1,7 +1,7 @@ <ul> <% posts.each do |post| %> <li> - <a href=<%= path_to post['title'] %>><%= post['title'] %></a> <%= format_date post['date'] %> + <a href=<%= path_to post['id'] %>><%= post['title'] %></a> <%= format_date post['date'] %> </li> <% end %> </ul> diff --git a/src/index.html.erb b/src/index.html.erb index eb9728f..7d4f7d0 100644 --- a/src/index.html.erb +++ b/src/index.html.erb @@ -9,7 +9,7 @@ <ul> <% posts.take(5).each do |post| %> <li> - <a href='<%= path_to post['title'] %>'><%= post['title'] %></a> <%= format_date post['date'] %> + <a href='<%= path_to post['id'] %>'><%= post['title'] %></a> <%= format_date post['date'] %> </li> <% end %> </ul> |