Module: MiddlemanToc
- Defined in:
- lib/middleman_toc.rb,
lib/middleman_toc/tag.rb,
lib/middleman_toc/toc.rb,
lib/middleman_toc/node.rb,
lib/middleman_toc/title.rb,
lib/middleman_toc/builder.rb,
lib/middleman_toc/helpers.rb,
lib/middleman_toc/version.rb,
lib/middleman_toc/renderer.rb,
lib/middleman_toc/extension.rb,
lib/middleman_toc/validator.rb
Defined Under Namespace
Modules: Helpers
Classes: Builder, Extension, Node, Renderer, Tag, Title, Toc, Validator
Constant Summary
collapse
- VERSION =
"0.0.6"
Class Method Summary
collapse
Class Method Details
.instance(sitemap) ⇒ Object
9
10
11
12
13
|
# File 'lib/middleman_toc.rb', line 9
def instance(sitemap)
@instance ||= Toc.new(pages(sitemap)).tap do |toc|
Validator.new(toc.pages, toc.root).validate!
end
end
|
.next_page(sitemap, path) ⇒ Object
23
24
25
|
# File 'lib/middleman_toc.rb', line 23
def next_page(sitemap, path)
rendering { instance(sitemap).next_page(path) }
end
|
.pages(sitemap) ⇒ Object
27
28
29
30
31
|
# File 'lib/middleman_toc.rb', line 27
def pages(sitemap)
sitemap.resources.inject({}) do |pages, page|
pages.merge(page.path.gsub(%r((^|\/)[\d]+\-), '').sub('.html', '\1') => page)
end
end
|
.prev_page(sitemap, path) ⇒ Object
19
20
21
|
# File 'lib/middleman_toc.rb', line 19
def prev_page(sitemap, path)
rendering { instance(sitemap).prev_page(path) }
end
|
.rendering ⇒ Object
33
34
35
36
37
|
# File 'lib/middleman_toc.rb', line 33
def rendering
return if @rendering
@rendering = true
yield.tap { @rendering = false }
end
|
.toc(sitemap, path) ⇒ Object
15
16
17
|
# File 'lib/middleman_toc.rb', line 15
def toc(sitemap, path)
rendering { instance(sitemap).toc(path) } end
|