lib/asciidoctor/block.rb in asciidoctor-0.1.2 vs lib/asciidoctor/block.rb in asciidoctor-0.1.3

- old
+ new

@@ -12,80 +12,32 @@ alias :blockname :context # Public: Get/Set the original Array content for this section block. attr_accessor :buffer - # Public: Get/Set the caption for this block - attr_accessor :caption - # Public: Initialize an Asciidoctor::Block object. # # parent - The parent Asciidoc Object. # context - The Symbol context name for the type of content. # buffer - The Array buffer of source data (default: nil). def initialize(parent, context, buffer = nil) super(parent, context) @buffer = buffer - @caption = nil end # Public: Get the rendered String content for this Block. If the block # has child blocks, the content method should cause them to be # rendered and returned as content that can be included in the # parent block's template. def render - Debug.debug { "Now rendering #{@context} block for #{self}" } @document.playback_attributes @attributes out = renderer.render("block_#{@context}", self) @document.callouts.next_list if @context == :colist out end - def splain(parent_level = 0) - parent_level += 1 - Debug.puts_indented(parent_level, "Block id: #{id}") unless self.id.nil? - Debug.puts_indented(parent_level, "Block title: #{title}") unless self.title.nil? - Debug.puts_indented(parent_level, "Block caption: #{caption}") unless self.caption.nil? - Debug.puts_indented(parent_level, "Block level: #{level}") unless self.level.nil? - Debug.puts_indented(parent_level, "Block context: #{context}") unless self.context.nil? - - Debug.puts_indented(parent_level, "Blocks: #{@blocks.count}") - - if buffer.is_a? Enumerable - buffer.each_with_index do |buf, i| - Debug.puts_indented(parent_level, "v" * (60 - parent_level*2)) - Debug.puts_indented(parent_level, "Buffer ##{i} is a #{buf.class}") - Debug.puts_indented(parent_level, "Name is #{buf.title rescue 'n/a'}") - - if buf.respond_to? :splain - buf.splain(parent_level) - else - Debug.puts_indented(parent_level, "Buffer: #{buf}") - end - Debug.puts_indented(parent_level, "^" * (60 - parent_level*2)) - end - else - if buffer.respond_to? :splain - buffer.splain(parent_level) - else - Debug.puts_indented(parent_level, "Buffer: #{@buffer}") - end - end - - @blocks.each_with_index do |block, i| - Debug.puts_indented(parent_level, "v" * (60 - parent_level*2)) - Debug.puts_indented(parent_level, "Block ##{i} is a #{block.class}") - Debug.puts_indented(parent_level, "Name is #{block.title rescue 'n/a'}") - - block.splain(parent_level) if block.respond_to? :splain - Debug.puts_indented(parent_level, "^" * (60 - parent_level*2)) - end - - nil - end - # Public: Get an HTML-ified version of the source buffer, with special # Asciidoc characters and entities converted to their HTML equivalents. # # Examples # @@ -94,20 +46,20 @@ # ['`This` is what happens when you <meet> a stranger in the <alps>!']) # block.content # => ["<em>This</em> is what happens when you &lt;meet&gt; a stranger in the &lt;alps&gt;!"] def content case @context - when :preamble, :open + when :preamble @blocks.map {|b| b.render }.join # lists get iterated in the template (for now) # list items recurse into this block when their text and content methods are called when :ulist, :olist, :dlist, :colist @buffer when :listing, :literal apply_literal_subs(@buffer) when :pass apply_passthrough_subs(@buffer) - when :admonition, :example, :sidebar, :quote, :verse + when :admonition, :example, :sidebar, :quote, :verse, :open if !@buffer.nil? apply_para_subs(@buffer) else @blocks.map {|b| b.render }.join end