lib/post.rb in runeblog-0.0.87 vs lib/post.rb in runeblog-0.0.88
- old
+ new
@@ -11,10 +11,26 @@
files = Find.find(root).to_a
result = files.grep(/#{tag(num)}-/)
result
end
+ def self.load(post)
+ # FIXME weird logic here
+ raise "RuneBlog.blog is not set!" if RuneBlog.blog.nil?
+ pdir = RuneBlog.blog.view.dir + "/" + post
+ meta = nil
+ Dir.chdir(pdir) do
+ meta = read_config("metadata.txt")
+ meta.date = Date.parse(meta.date)
+ meta.views = meta.views.split
+ meta.tags = meta.tags.split
+ meta.teaser = File.read("teaser.txt")
+ meta.body = File.read("body.txt")
+ end
+ meta
+ end
+
def initialize(meta, view_name)
# FIXME weird logic here
raise "RuneBlog.blog is not set!" if RuneBlog.blog.nil?
@blog = RuneBlog.blog
@title = meta.title
@@ -51,21 +67,19 @@
@blog.generate_index(view)
end
end
rescue => err
p err
- err.backtrace.each {|x| puts x }
- # error(err)
+ puts err.backtrace
end
private
def create_post_subtree(vdir)
create_dir("assets")
- dump(@meta.to_yaml, "metadata.yaml")
- dump(@meta.teaser, "teaser.txt")
- dump(@meta.remainder, "remainder.txt")
+# dump(@meta.to_yaml, "metadata.yaml")
+ write_metadata(@meta)
template = RuneBlog::Default::TeaserTemplate # FIXME template into custom dir?
text = interpolate(template)
dump(text, "index.html") # FIXME write_index ?
end
@@ -77,6 +91,28 @@
end
def tag(num)
"#{'%04d' % num}"
end
+
+def write_metadata(meta)
+ fname2 = "metadata.txt"
+ hash = meta.to_h
+
+ File.write("teaser.txt", hash[:teaser])
+ File.write("body.txt", hash[:body])
+ hash.delete(:teaser)
+ hash.delete(:body)
+
+ hash[:views] = hash[:views].join(" ")
+ hash[:tags] = hash[:tags].join(" ")
+
+ fields = [:title, :date, :pubdate, :views, :tags]
+
+ f2 = File.new(fname2, "w")
+ fields.each do |fld|
+ f2.puts "#{fld}: #{hash[fld]}"
+ end
+ f2.close
+end
+
end