Class: Marko::Renderers::NestedTree

Inherits:
Renderer
  • Object
show all
Defined in:
lib/marko/renderers/nested_tree.rb

Overview

Nested topics tree renderer

Constant Summary

Constants inherited from Renderer

Renderer::NL, Renderer::NN

Instance Method Summary collapse

Constructor Details

#initializeNestedTree

Returns a new instance of NestedTree.



8
9
10
# File 'lib/marko/renderers/nested_tree.rb', line 8

def initialize
  @link = Link.new
end

Instance Method Details

#render(topic) ⇒ Object

Parameters:



13
14
15
16
17
18
19
# File 'lib/marko/renderers/nested_tree.rb', line 13

def render(topic)
  level = topic.nesting_level + 1
  mkindent = proc{ '  ' * (it.nesting_level - level) }
  topic.drop(1)
    .map{"#{mkindent.(it)}- #{@link.render(it)}"}
    .join(?\n)
end