Class Tags::BreadcrumbTrailTag
In: lib/webgen/plugins/tags/breadcrumbtrail.rb
Parent: DefaultTag
DefaultTag BreadcrumbTrailTag MetaTag RelocatableTag IncludeFileTag LangbarTag DateTag ResourceTag WikiLinkTag SitemapTag CustomVarTag BlockTag ExecuteCommandTag DownloadTag MenuTag HtmlMetaInfo Webgen::Plugin TagProcessor lib/webgen/plugins/tags/date.rb lib/webgen/plugins/tags/menu.rb lib/webgen/plugins/tags/sitemap.rb lib/webgen/plugins/tags/wikilink.rb lib/webgen/plugins/tags/executecommand.rb lib/webgen/plugins/tags/langbar.rb lib/webgen/plugins/tags/breadcrumbtrail.rb lib/webgen/plugins/tags/includefile.rb lib/webgen/plugins/tags/relocatable.rb lib/webgen/plugins/tags/meta.rb lib/webgen/plugins/tags/htmlmetainfo.rb lib/webgen/plugins/tags/download.rb lib/webgen/plugins/tags/block.rb lib/webgen/plugins/tags/tag_processor.rb lib/webgen/plugins/coreplugins/resourcemanager.rb lib/webgen/plugins/tags/customvar.rb Tags dot/m_39_1.png

Generates a breadcrumb trail. It consists of all pages in the hierarchy of the current page.

For example, assuming we have the following branch

  /directory1/directory2/currentFile

this plugin will generate something like this:

  root / directory1 / directory2 / currentFile

where each listed name is linked to the corresponding file.

Methods

Public Instance methods

[Source]

    # File lib/webgen/plugins/tags/breadcrumbtrail.rb, line 48
48:     def process_tag( tag, chain )
49:       out = []
50:       node = chain.last
51: 
52:       omitIndexFile = if node.meta_info.has_key?( 'omitIndexFileInBreadcrumbTrail' )
53:                         node['omitIndexFileInBreadcrumbTrail']
54:                       else
55:                         param( 'omitIndexFile' )
56:                       end
57:       omitIndexFile = omitIndexFile && node.parent['indexFile'] &&
58:         node.parent['indexFile'].node_for_lang( node['lang'] ) == node
59: 
60:       node = node.parent if omitIndexFile
61: 
62:       until node.nil?
63:         out.push( node.link_from( chain.last, :context => { :caller => self.class.plugin_name } ) )
64:         node = node.parent
65:       end
66: 
67:       out[0] = '' if param( 'omitLast' ) && !omitIndexFile
68:       out = out.reverse.join( param( 'separator' ) )
69:       log(:debug) { "Breadcrumb trail for <#{chain.last.node_info[:src]}>: #{out}" }
70:       out
71:     end

[Validate]