middleman-toc 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ce9c88e1c2171ebc0a42fb1d6a04ee4f6d349dd
4
- data.tar.gz: e2de6e9fd8a96af91ef3c6db8e1d006f881a2ee4
3
+ metadata.gz: 81a938c2b695ff26c83afd107e7dab18f74dbaee
4
+ data.tar.gz: 2dddefda32ce8d129b5035b568d7bbb4a86bdd01
5
5
  SHA512:
6
- metadata.gz: fdfd52739d0c70c27bd942a60025c88409ec7d01893e78b40c0fe3259e0190059a9b63241ad5707bf4748ab8ea1c64db7cc66ea4e451039a66232a4914448022
7
- data.tar.gz: fa4ded3be9a1b12931a4ebb4cdb7ceb4c2e3e1807c84af861c9c701a94db9a56f0830f710b7d4cb3ae3036ed02ed7be08a8b24b5a93f37dbe7629a2627928884
6
+ metadata.gz: 5461a4abc400c78908ac2a72124ba56490a67804e215bace364c8be73c6c207af297f8c8f3396bcf8349ae1fe89655576e0e740784f2b5c2124926b427d381b4
7
+ data.tar.gz: 09e3d09ce1c6951c60243a0f16040d1fe12360f00042928f917822711bec287952a1d30d4d9c763da8f41d7a35aa7b2ebd1d8b0acfdc5e833e3548ca43646789
@@ -5,6 +5,12 @@ require 'middleman_toc/toc'
5
5
  require 'middleman_toc/validator'
6
6
 
7
7
  module MiddlemanToc
8
+ class Page < Struct.new(:resource, :title)
9
+ def render
10
+ resource.render(layout: false)
11
+ end
12
+ end
13
+
8
14
  class << self
9
15
  def instance(sitemap)
10
16
  @instance ||= Toc.new(pages(sitemap)).tap do |toc|
@@ -16,6 +22,16 @@ module MiddlemanToc
16
22
  rendering { instance(sitemap).toc(path) } # .tap { |html| puts html }
17
23
  end
18
24
 
25
+ def all_pages(sitemap)
26
+ rendering do
27
+ instance(sitemap).nodes.inject([]) do |result, node|
28
+ page = pages(sitemap)[node.path]
29
+ result << Page.new(page, node.title) if page
30
+ result
31
+ end
32
+ end
33
+ end
34
+
19
35
  def prev_page(sitemap, path)
20
36
  rendering { instance(sitemap).prev_page(path) }
21
37
  end
@@ -25,7 +41,7 @@ module MiddlemanToc
25
41
  end
26
42
 
27
43
  def pages(sitemap)
28
- sitemap.resources.inject({}) do |pages, page|
44
+ @pages ||= sitemap.resources.inject({}) do |pages, page|
29
45
  pages.merge(page.path.gsub(%r((^|\/)[\d]+\-), '').sub('.html', '\1') => page)
30
46
  end
31
47
  end
@@ -4,6 +4,10 @@ module MiddlemanToc
4
4
  MiddlemanToc.toc(sitemap, current_path)
5
5
  end
6
6
 
7
+ def all_pages
8
+ MiddlemanToc.all_pages(sitemap) || []
9
+ end
10
+
7
11
  def prev_page
8
12
  MiddlemanToc.prev_page(sitemap, current_path)
9
13
  end
@@ -14,6 +14,10 @@ module MiddlemanToc
14
14
  root.render
15
15
  end
16
16
 
17
+ def nodes
18
+ @nodes ||= root.flatten
19
+ end
20
+
17
21
  def prev_page(path)
18
22
  node = prev_node(path)
19
23
  Tag.new(:a, 'Previous', class: 'prev', href: "/#{node.path}.html").render if node && node.path
@@ -35,10 +39,6 @@ module MiddlemanToc
35
39
  normalize_nodes(YAML.load_file('data/toc.yml'))
36
40
  end
37
41
 
38
- def nodes
39
- @nodes ||= root.flatten
40
- end
41
-
42
42
  def find(path)
43
43
  nodes.detect { |node| node.path == path }
44
44
  end
@@ -1,3 +1,3 @@
1
1
  module MiddlemanToc
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-toc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Fuchs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-10 00:00:00.000000000 Z
11
+ date: 2015-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: titleize
@@ -70,3 +70,4 @@ signing_key:
70
70
  specification_version: 4
71
71
  summary: Middleman Table of Contents
72
72
  test_files: []
73
+ has_rdoc: