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)