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