lib/runeblog.rb in runeblog-0.0.84 vs lib/runeblog.rb in runeblog-0.0.85
- old
+ new
@@ -12,10 +12,11 @@
###
class RuneBlog
DotDir = ".blog"
+ ConfigFile = "#{DotDir}/config"
class << self
attr_accessor :blog
include Helpers
end
@@ -42,11 +43,11 @@
def initialize # assumes existing blog
# Crude - FIXME later -
# What views are there? Deployment, etc.
self.class.blog = self # Weird. Like a singleton - dumbass circular dependency?
@root, @view_name, @editor =
- read_config(DotDir + "/config", :root, :current_view, :editor)
+ read_config(ConfigFile, :root, :current_view, :editor)
@views = get_views
@view = str2view(@view_name)
@sequence = get_sequence
end
@@ -80,43 +81,40 @@
def get_sequence
File.read(root + "/sequence").to_i
end
def next_sequence
- File.write("#@root/sequence", @sequence += 1)
+ dump(@sequence += 1, "#@root/sequence")
@sequence
end
- def viewdir(v)
+ def viewdir(v = nil)
+ v ||= @view
@root + "/views/#{v}/"
end
def self.exist?
- File.exist?(DotDir) &&
- File.directory?(DotDir) &&
- File.exist?(DotDir + "/config")
+ Dir.exist?(DotDir) && File.exist?(ConfigFile)
end
def create_view(arg)
names = self.views.map(&:to_s)
raise "view #{arg} already exists" if names.include?(arg)
dir = "#@root/views/#{arg}/"
create_dir(dir)
up = Dir.pwd
Dir.chdir(dir)
+ x = RuneBlog::Default
create_dir('custom')
create_dir('assets')
- File.write("deploy", "")
- File.write("custom/blog_header.html",
- RuneBlog::Default::BlogHeader)
- File.write("custom/blog_trailer.html",
- RuneBlog::Default::BlogTrailer)
- File.write("custom/post_template.html",
- RuneBlog::Default::PostTemplate)
- File.write("last_deployed",
- "Initial creation")
+ # FIXME dump method??
+ dump("", "deploy")
+ dump(x::BlogHeader, "custom/blog_header.html")
+ dump(x::BlogTrailer, "custom/blog_trailer.html")
+ dump(x::PostTemplate, "custom/post_template.html")
+ dump("Initial creation", "last_deployed")
Dir.chdir(up)
@views << RuneBlog::View.new(arg)
end
def delete_view(name, force = false)
@@ -125,14 +123,13 @@
@views -= [str2view(name)]
end
end
def view_files
- vdir = @blog.viewdir(@view)
- # meh
+ vdir = @blog.viewdir
files = ["#{vdir}/index.html"]
- files += Dir.entries(vdir).grep(/^\d{4}/).map {|x| "#{vdir}/#{x}" }
+ files += posts.map {|x| "#{vdir}/#{x}" }
# Huh?
files.reject! {|f| File.mtime(f) < File.mtime("#{vdir}/last_deployed") }
end
def files_by_id(id)
@@ -205,13 +202,16 @@
def link_post_view(view)
# Create dir using slug (index.html, metadata?)
vdir = self.viewdir(view)
dir = vdir + @meta.slug + "/"
create_dir(dir + "assets")
- File.write("#{dir}/metadata.yaml", @meta.to_yaml)
- template = File.read(vdir + "custom/post_template.html")
- post = interpolate(template)
- File.write(dir + "index.html", post)
+ Dir.chdir(dir) do
+ dump(@meta.to_yaml, "metadata.yaml")
+ # FIXME make get_post_template method
+ template = File.read("#{vdir}/custom/post_template.html")
+ post = interpolate(template)
+ dump(post, "index.html")
+ end
generate_index(view)
rescue => err
error(err)
end