dsl/liveblog.rb in livetext-0.8.25 vs dsl/liveblog.rb in livetext-0.8.26

- old
+ new

@@ -1,25 +1,39 @@ require 'ostruct' require 'yaml' +require 'pp' require 'runeblog' # Now depends explicitly class ::Livetext::Functions # do this differently?? def asset # FIXME this is baloney... - param = Livetext::Functions.param - puts "REACHED func_asset" - text, name = param.split("|") + param = ::Livetext::Functions.param + context = ::Livetext::Functions.context + main = context.eval("@main") rescue "NO MAIN?" + @meta = main.instance_eval("@main.instance_eval { @meta }") + @config = main.instance_eval("@main.instance_eval { @config }") + @root = @config.root + + text, name = param.split("|") - # FIXME how should this work? -# url = find_asset(name) - url = name - "<a href='#{url}'>#{text}</a>" + # FIXME how should this work? + view = ThisConfig.view + url = find_asset(name) + "<a href='#{url}'>#{text}</a>" end end + +begin + ThisBlog +rescue + ThisBlog = RuneBlog.new + ThisConfig = ThisBlog.read_config +end + ### find_asset def find_asset(asset) views = @config.views views.each do |view| @@ -44,27 +58,35 @@ end ############# def init_liveblog - @blog = RuneBlog.new - @config = @blog.read_config + @blog = ThisBlog + @config = ThisConfig @root = @config.root @teaser = "" @body = "" @body = "" @meta = ::OpenStruct.new + + @deploy ||= {} + @config.views.each do |view| + deployment = @config.viewdir(view) + "deploy" + raise "File '#{deployment}' not found" unless File.exist?(deployment) + lines = File.readlines(deployment).map {|x| x.chomp } + @deploy[view] = lines + end end def _errout(*args) ::STDERR.puts *args end -def _passthru(line) +def _passthru(line, context = nil) return if line.nil? @body << "<p>" if line == "\n" and ! @_nopara - line = _formatting(line) + line = _formatting(line, context) @body << line + "\n" end def title @meta.title = @_data @@ -85,11 +107,11 @@ @meta.categories = _args end def views _debug "data = #{_args}" - @meta.views = _args # + ["main"] + @meta.views = _args.dup # + ["main"] end def liveblog_version end @@ -116,16 +138,16 @@ def asset @meta.assets ||= {} list = _args list.each {|asset| @meta.assets[asset] = find_asset(asset) } - STDERR.puts red("\n [DEBUG] ") + "Asset(s): #{@meta.assets}" +# STDERR.puts red("\n [DEBUG] ") + "Asset(s): #{@meta.assets}" end def assets @meta.assets ||= [] @meta.assets += _body - STDERR.puts red("\n [DEBUG] ") + "Assets: #{_body.inspect}" +# STDERR.puts red("\n [DEBUG] ") + "Assets: #{_body.inspect}" end def finalize @meta.body = @body @meta