jekyll-toc 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/jekyll-toc.rb +1 -1
- data/lib/table_of_contents/parser.rb +7 -1
- data/lib/version.rb +1 -1
- data/test/test_option_error.rb +38 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 11249e86a5122f8c2d20eda3c017fa0153c46751
|
4
|
+
data.tar.gz: 119d8a76ead5a7bea7bd16b481eb86a66320c099
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 944f866279b98691b4d04b6bd9426044c7e635abbdf44edfc1ff583ed48371c739d6abc9dfa9d1fb5d15e244fcbc681957a9680339eb9c8a52093f4a559a7045
|
7
|
+
data.tar.gz: 13f140512b05717447141aa80303837e9b7d6fab395bfb116fc922eebd3357fbed002aca1829d1af1d96f52877ed772f07bfbc7e8276800a1784748ba79e65b5
|
data/lib/jekyll-toc.rb
CHANGED
@@ -11,7 +11,7 @@ module Jekyll
|
|
11
11
|
|
12
12
|
def initialize(html, options = {})
|
13
13
|
@doc = Nokogiri::HTML::DocumentFragment.parse(html)
|
14
|
-
options =
|
14
|
+
options = generate_option_hash(options)
|
15
15
|
@toc_levels = options["min_level"]..options["max_level"]
|
16
16
|
@entries = parse_content
|
17
17
|
end
|
@@ -116,6 +116,12 @@ module Jekyll
|
|
116
116
|
def toc_headings
|
117
117
|
@toc_levels.map { |level| "h#{level}" }.join(",")
|
118
118
|
end
|
119
|
+
|
120
|
+
def generate_option_hash(options)
|
121
|
+
DEFAULT_CONFIG.merge(options)
|
122
|
+
rescue TypeError
|
123
|
+
DEFAULT_CONFIG
|
124
|
+
end
|
119
125
|
end
|
120
126
|
end
|
121
127
|
end
|
data/lib/version.rb
CHANGED
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class TestOptionError < Minitest::Test
|
4
|
+
BASE_HTML = "<h1>h1</h1>"
|
5
|
+
EXPECTED_HTML = <<-HTML
|
6
|
+
<ul class="section-nav">
|
7
|
+
<li class="toc-entry toc-h1"><a href="#h1">h1</a></li>
|
8
|
+
</ul>
|
9
|
+
HTML
|
10
|
+
|
11
|
+
def test_option_is_nil
|
12
|
+
parser = Jekyll::TableOfContents::Parser.new(BASE_HTML, nil)
|
13
|
+
doc = Nokogiri::HTML(parser.toc)
|
14
|
+
expected = EXPECTED_HTML
|
15
|
+
assert_equal(expected, doc.css('ul.section-nav').to_s)
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_option_is_epmty_string
|
19
|
+
parser = Jekyll::TableOfContents::Parser.new(BASE_HTML, "")
|
20
|
+
doc = Nokogiri::HTML(parser.toc)
|
21
|
+
expected = EXPECTED_HTML
|
22
|
+
assert_equal(expected, doc.css('ul.section-nav').to_s)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_option_is_string
|
26
|
+
parser = Jekyll::TableOfContents::Parser.new(BASE_HTML, "string")
|
27
|
+
doc = Nokogiri::HTML(parser.toc)
|
28
|
+
expected = EXPECTED_HTML
|
29
|
+
assert_equal(expected, doc.css('ul.section-nav').to_s)
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_option_is_array
|
33
|
+
parser = Jekyll::TableOfContents::Parser.new(BASE_HTML, [])
|
34
|
+
doc = Nokogiri::HTML(parser.toc)
|
35
|
+
expected = EXPECTED_HTML
|
36
|
+
assert_equal(expected, doc.css('ul.section-nav').to_s)
|
37
|
+
end
|
38
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-toc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- toshimaru
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-12-
|
12
|
+
date: 2017-12-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -136,6 +136,7 @@ files:
|
|
136
136
|
- test/test_helper.rb
|
137
137
|
- test/test_inject_anchors_filter.rb
|
138
138
|
- test/test_kramdown_list.rb
|
139
|
+
- test/test_option_error.rb
|
139
140
|
- test/test_toc_filter.rb
|
140
141
|
- test/test_toc_only_filter.rb
|
141
142
|
- test/test_various_toc_html.rb
|
@@ -167,6 +168,7 @@ test_files:
|
|
167
168
|
- test/test_helper.rb
|
168
169
|
- test/test_inject_anchors_filter.rb
|
169
170
|
- test/test_kramdown_list.rb
|
171
|
+
- test/test_option_error.rb
|
170
172
|
- test/test_toc_filter.rb
|
171
173
|
- test/test_toc_only_filter.rb
|
172
174
|
- test/test_various_toc_html.rb
|