lib/runeblog.rb in runeblog-0.3.03 vs lib/runeblog.rb in runeblog-0.3.04

- old
+ new

@@ -294,16 +294,18 @@ # puts "Warning: No current view set" @view = nil when RuneBlog::View @view = arg read_features(@view) + @view.get_globals _set_publisher when String new_view = str2view(arg) raise NoSuchView(arg) if new_view.nil? @view = new_view read_features(@view) + @view.get_globals _set_publisher else raise CantAssignView(arg.class.to_s) end rescue => err @@ -375,10 +377,11 @@ log!(enter: __method__, args: [view_name], level: 2) make_empty_view_tree(view_name) add_view(view_name) mark_last_published("Initial creation") system("cp #@root/data/global.lt3 #@root/views/#{view_name}/themes/standard/global.lt3") + @view.get_globals rescue => err _tmp_error(err) end def delete_view(name, force = false) @@ -455,20 +458,22 @@ nb <=> na end # sort descending return posts[0..19] # return 20 at most end - def collect_recent_posts(file) + def collect_recent_posts(file = "recent.html") log!(enter: __method__, args: [file], level: 3) + vars = self.view.globals text = <<-HTML <html> <head><link rel="stylesheet" href="etc/blog.css"></head> - <body> + <body style="background-color: #{vars["recent.bgcolor"]}"> HTML posts = _sorted_posts if posts.size > 0 - wanted = [8, posts.size].min # estimate how many we want? + # estimate how many we want + wanted = [vars["recent.count"].to_i, posts.size].min enum = posts.each entries = [] wanted.times do postid = File.basename(enum.next) postid = postid.to_i @@ -536,10 +541,10 @@ def generate_index(view) log!(enter: __method__, args: [view], pwd: true, dir: true) raise ArgumentError unless view.is_a?(String) || view.is_a?(RuneBlog::View) @vdir = @root/:views/view - num = collect_recent_posts("recent.html") + num = collect_recent_posts return num rescue => err _tmp_error(err) end