m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/blog.rb13
1 files changed, 12 insertions, 1 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