From 2a82259fc99a6a9318ce776a44916ef3acb5a03e Mon Sep 17 00:00:00 2001 From: Tom Preston-Werner Date: Sun, 19 Oct 2008 23:10:24 -0700 Subject: [PATCH] fix textilization of pages --- lib/autoblog/page.rb | 15 ++++++++++----- lib/autoblog/post.rb | 6 ++++++ lib/autoblog/site.rb | 2 +- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/lib/autoblog/page.rb b/lib/autoblog/page.rb index 07b419b4..f82a3a4d 100644 --- a/lib/autoblog/page.rb +++ b/lib/autoblog/page.rb @@ -34,14 +34,14 @@ module AutoBlog end def transform - if self.ext == "textile" - self.ext = "html" + if self.ext == ".textile" + self.ext = ".html" self.content = RedCloth.new(self.content).to_html end end - def add_layout(layouts) - payload = {"page" => self.data} + def add_layout(layouts, posts) + payload = {"page" => self.data, "site" => {"posts" => posts}} self.content = Liquid::Template.parse(self.content).render(payload) layout = layouts[self.data["layout"]] || self.content @@ -53,7 +53,12 @@ module AutoBlog def write(dest) FileUtils.mkdir_p(File.join(dest, @dir)) - path = File.join(dest, @dir, @name) + name = @name + if self.ext != "" + name = @name.split(".")[0..-2].join('.') + self.ext + end + + path = File.join(dest, @dir, name) File.open(path, 'w') do |f| f.write(self.content) end diff --git a/lib/autoblog/post.rb b/lib/autoblog/post.rb index 3ebfebc2..129e1f7a 100644 --- a/lib/autoblog/post.rb +++ b/lib/autoblog/post.rb @@ -71,6 +71,12 @@ module AutoBlog f.write(self.content) end end + + def to_liquid + { "title" => self.data["title"] || "", + "url" => self.url, + "date" => self.date } + end end end \ No newline at end of file diff --git a/lib/autoblog/site.rb b/lib/autoblog/site.rb index d57e0c9f..68fbd602 100644 --- a/lib/autoblog/site.rb +++ b/lib/autoblog/site.rb @@ -63,7 +63,7 @@ module AutoBlog transform_pages(File.join(dir, f)) else page = Page.new(self.source, dir, f) - page.add_layout(self.layouts) + page.add_layout(self.layouts, self.posts) page.write(self.dest) end end