lib/runeblog.rb in runeblog-0.2.24 vs lib/runeblog.rb in runeblog-0.2.25
- old
+ new
@@ -59,11 +59,11 @@
$_blog = self # Dumber still?
root = Dir.pwd/root
raise BlogRepoAlreadyExists if Dir.exist?(root)
create_dirs(root)
Dir.chdir(root) do
- system("cp #{RuneBlog::Path}/../empty_view.tgz .")
+ system!("cp #{RuneBlog::Path}/../empty_view.tgz .")
create_dirs(:drafts, :views, :posts)
new_sequence
end
put_config(root: root)
@blog = self.new(root)
@@ -105,11 +105,11 @@
log!(enter: __method__, args: [dir])
Dir.chdir(dir) do
# views = File.readlines("metadata.txt").grep(/^views: /).first[7..-1].split
views = _retrieve_metadata(:views)
STDERR.puts "---- deploy: views = #{views.inspect}"
- views.each {|v| system("cp *html #@root/views/#{v}/remote") }
+ views.each {|v| system!("cp *html #@root/views/#{v}/remote") }
end
end
def _retrieve_metadata(key)
key = key.to_s
@@ -247,12 +247,12 @@
def make_empty_view_tree(view_name)
log!(enter: __method__, args: [view_name])
Dir.chdir(@root) do
cmd1 = "tar zxvf empty_view.tgz >/dev/null 2>&1"
cmd2 = "cp -r empty_view views/#{view_name}"
- system(cmd1)
- system(cmd2)
+ system!(cmd1)
+ system!(cmd2)
end
end
def check_valid_new_view(view_name)
log!(enter: __method__, args: [view_name])
@@ -278,11 +278,11 @@
def delete_view(name, force = false)
log!(enter: __method__, args: [name, force])
raise ArgumentError unless name.is_a?(String) && ! name.empty?
if force
vname = @root/:views/name
- system("rm -rf #{vname}")
+ system!("rm -rf #{vname}")
@views -= [str2view(name)]
end
end
def view_files
@@ -311,19 +311,20 @@
def teaser(slug)
log!(enter: __method__, args: [slug])
id = slug.to_i
text = nil
post_entry_name = @theme/"blog/post_entry.lt3"
- @_post_entry ||= File.read(post_entry_name)
+ xlate src: post_entry_name, dst: "/tmp/post_entry.html", debug: true
+ @_post_entry ||= File.read("/tmp/post_entry.html")
vp = post_lookup(id)
nslug, aslug, title, date, teaser_text =
vp.nslug, vp.aslug, vp.title, vp.date, vp.teaser_text
path = vp.path
url = aslug + ".html"
- date = ::Date.parse(date)
- date = date.strftime("%B %e<br>%Y")
- text = interpolate(@_post_entry, binding)
+ date = ::Date.parse(date)
+ date = date.strftime("%B %e<br>%Y")
+ text = interpolate(@_post_entry, binding)
text
end
def collect_recent_posts(file)
log!(enter: __method__, args: [file])
@@ -368,11 +369,11 @@
def edit_initial_post(file, testing = false)
log!(enter: __method__, args: [file, testing])
debug "=== edit_initial_post #{file.inspect} => #{sourcefile}"
sourcefile = @root/:drafts/file
- result = system("#@editor #{sourcefile} +8") unless testing
+ result = system!("#@editor #{sourcefile} +8") unless testing
raise EditorProblem(sourcefile) unless result
process_post(sourcefile)
nil
rescue => err
error(err)
@@ -433,23 +434,23 @@
fname = File.basename(draft)
noext = fname.sub(/.lt3$/, "")
vdir = @root/:views/view
dir = vdir/:posts/noext
Dir.mkdir(dir) unless Dir.exist?(dir)
- system("cp #{draft} #{dir}")
+ system!("cp #{draft} #{dir}")
viewdir, slugdir, aslug = vdir, dir, noext[5..-1]
theme = viewdir/:themes/:standard
[noext, viewdir, slugdir, aslug, theme]
end
def _post_metadata(draft, pdraft)
log!(enter: __method__, args: [draft, pdraft])
Dir.chdir(pdraft) do
excerpt = File.read("teaser.txt")
title = _retrieve_metadata(:title)
- vars = %[.set title="#{title.chomp}"\n] +
- %[.set teaser="#{excerpt.chomp}"]
+ vars = %[.heredoc title\n"#{title.chomp}"\n.end\n] +
+ %[.heredoc teaser\n"#{excerpt.chomp}"\n.end\n]
File.open(pdraft/"vars.lt3", "w") {|f| f.puts vars }
end
end
def copy_widget_html(view)
@@ -462,11 +463,11 @@
dir = File.basename(w)
rem = w.sub(/themes.standard/, "remote")
create_dirs(rem)
files = Dir[w/"*"]
next unless files.any? {|x| x =~ /html$/ }
- system("cp #{w}/*html #{rem}")
+ system!("cp #{w}/*html #{rem}")
end
end
def _handle_post(draft, view)
log!(enter: __method__, args: [draft, view])
@@ -555,11 +556,11 @@
list = files.select {|x| File.directory?(x) and x =~ /#{tag}/ }
return nil if list.empty?
dest = list.map {|f| f.sub(/(?<num>\d{4}-)/, "_\\k<num>") }
list.each.with_index do |src, i|
cmd = "mv #{src} #{dest[i]} 2>/dev/null"
- system(cmd)
+ system!(cmd)
end
# FIXME - update index/etc
true
end
@@ -571,20 +572,20 @@
list = files.select {|x| File.directory?(x) and x =~ /_#{tag}/ }
return nil if list.empty?
dest = list.map {|f| f.sub(/_(?<num>\d{4}-)/, "\\k<num>") }
list.each.with_index do |src, i|
cmd = "mv #{src} #{dest[i]} 2>/dev/null"
- system(cmd)
+ system!(cmd)
end
# FIXME - update index/etc
true
end
def delete_draft(num)
log!(enter: __method__, args: [num])
raise ArgumentError unless num.is_a?(Integer)
tag = prefix(num)
- system("rm -rf #@root/drafts/#{tag}-*")
+ system!("rm -rf #@root/drafts/#{tag}-*")
end
def make_slug(meta)
log!(enter: __method__, args: [meta])
raise ArgumentError unless meta.title.is_a?(String)