Module: Nanoc::Helpers::Breadcrumbs
- Defined in:
- lib/nanoc/helpers/breadcrumbs.rb
Overview
Provides support for breadcrumbs, which allow the user to go up in the page hierarchy.
Defined Under Namespace
Classes: CannotGetBreadcrumbsForNonLegacyItem
Instance Method Summary collapse
-
#breadcrumbs_trail ⇒ Array
Creates a breadcrumb trail leading from the current item to its parent, to its parent’s parent, etc, until the root item is reached.
Instance Method Details
#breadcrumbs_trail ⇒ Array
Creates a breadcrumb trail leading from the current item to its parent,
to its parent’s parent, etc, until the root item is reached. This
function does not require that each intermediate item exist; for
example, if there is no /foo/
item, breadcrumbs for a /foo/bar/
item
will contain a nil
element.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/nanoc/helpers/breadcrumbs.rb', line 19 def unless @item.identifier.legacy? raise CannotGetBreadcrumbsForNonLegacyItem.new(@item.identifier) end trail = [] idx_start = 0 loop do idx = @item.identifier.to_s.index('/', idx_start) break if idx.nil? idx_start = idx + 1 identifier = @item.identifier.to_s[0..idx] trail << @items[identifier] end trail end |