class Awestruct::Tilt::AsciidoctorTemplate
Public Class Methods
engine_initialized?()
click to toggle source
# File lib/awestruct/handlers/template/asciidoc.rb, line 9 def self.engine_initialized? defined? ::Asciidoctor::Document end
Public Instance Methods
allows_script?()
click to toggle source
# File lib/awestruct/handlers/template/asciidoc.rb, line 28 def allows_script? false end
evaluate(scope, locals, &block)
click to toggle source
# File lib/awestruct/handlers/template/asciidoc.rb, line 21 def evaluate(scope, locals, &block) if scope.class == ::Awestruct::Context scope[:document] = ::Asciidoctor.load(data, options) unless scope.key? :document @output ||= scope[:document].convert end end
initialize_engine()
click to toggle source
# File lib/awestruct/handlers/template/asciidoc.rb, line 13 def initialize_engine require_template_library 'asciidoctor' end
parse_headers(content, filter = /.*/)
click to toggle source
# File lib/awestruct/handlers/template/asciidoc.rb, line 32 def parse_headers(content, filter = /.*/) doc = ::Asciidoctor.load(content, {:parse_header_only => true}) filtered = doc.attributes.select{|k,v| k =~ filter}.inject({}) do |hash, (k,v)| hash[k.gsub(filter, '')] = v hash end filtered['title'] = filtered['doctitle'] = doc.doctitle filtered['date'] ||= doc.attributes['revdate'] unless doc.attributes['revdate'].nil? if (cnt = doc.attributes['authorcount'].to_i) > 1 authors = [] (1..cnt).each do |idx| author = {} author[:name] = doc.attributes["author_#{idx}"] if doc.attributes.has_key? "email_#{idx}" author[:email] = doc.attributes["email_#{idx}"] end authors << author end filtered['author'] = authors.first[:name] filtered['email'] = authors.first[:email] if authors.first.has_key? :email filtered['authors'] = authors.to_yaml elsif !doc.attributes['author'].nil? author = {} author[:name] = doc.attributes['author'] if doc.attributes.has_key? 'email' author[:email] = doc.attributes['email'] end filtered['author'] = author[:name] filtered['authors'] = [author].to_yaml end filtered end
prepare()
click to toggle source
# File lib/awestruct/handlers/template/asciidoc.rb, line 17 def prepare options[:header_footer] = false if options[:header_footer].nil? end