Sha256: f6845dff42c5992ab1bf7b1b692c2dba8edddb5f6e077c85375512fb139e74b7

Contents?: true

Size: 927 Bytes

Versions: 3

Compression:

Stored size: 927 Bytes

Contents

require "gollum/descendant_tree/version"
require "gollum/descendant_tree/tree_builder"
require "gollum/descendant_tree/tree_renderer"

module Gollum
  module DescendantTree

    def self.included(base)
      base.class_eval do
        alias_method :render_without_descendant_tree, :render
        alias_method :render, :render_with_descendant_tree
      end
    end

    def render_with_descendant_tree (no_follow = false, encoding = nil)
      data = render_without_descendant_tree(no_follow, encoding)
      tree_builder = Gollum::DescendantTree::TreeBuilder.new(@wiki, @name, @dir)
      tree = tree_builder.tree
      tree_renderer = Gollum::DescendantTree::TreeRenderer.new
      #[[_TREE_]] is already rendered from Markup.render
      data.gsub(rendered_tree_link, tree_renderer.render(tree))
    end

    private

    def rendered_tree_link
      '<a class="internal absent" href="/_TREE_">_TREE_</a>'
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gollum-descendant_tree-0.0.8 lib/gollum/descendant_tree.rb
gollum-descendant_tree-0.0.7 lib/gollum/descendant_tree.rb
gollum-descendant_tree-0.0.6 lib/gollum/descendant_tree.rb