mato 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4ee78e990dd114340fd03e141890722535ee37f2
4
- data.tar.gz: 7299447379be2ae7eb2479c964b03a7fa0f5a31a
3
+ metadata.gz: 3a166a9c9243a0e7f307e74cb2eb21cbe2a1a532
4
+ data.tar.gz: 74cd0d607ffdf636bfc9b0c686479824ba42c40e
5
5
  SHA512:
6
- metadata.gz: 57a7bc331b7391e9c620cfa3aff84f8ddf6a603792a9f0f19edc60656c75892dff3bf3fe543cfbab0269051fd5a1daf77e48767a22da4997d4025724c504f159
7
- data.tar.gz: 8c731d35a3eb7322c26004826f34183e5348198b68479571a850445522fdbc1af54ee65863cf63bc63ed662c31bb86b1198f1e2f7ccccb5ed22b1542198c4d19
6
+ metadata.gz: 26cb998d81df1ecfa6ebe49ce6ffc80faf2b8b6b6c91a387749ffde995fecc81d17596d5c3e867e3de368de58f8faae1d9887cc53d53315aa1ceeba3e723a4e3
7
+ data.tar.gz: 007af8513f6e3568bbb1f749bc4c7b40dba3bfb8c7c614ff6c4b0e3ff6266d46727685e4999f28ba4d497b4b78647a5cde04abd911c83984ffb663177bd7f4ea
@@ -15,9 +15,6 @@ Lint/AmbiguousBlockAssociation:
15
15
  Lint/ScriptPermission:
16
16
  Enabled: false
17
17
 
18
- Lint/RescueWithoutErrorClass:
19
- Enabled: false
20
-
21
18
  Layout/MultilineMethodCallIndentation:
22
19
  Enabled: false
23
20
 
@@ -51,6 +48,9 @@ Metrics/ModuleLength:
51
48
  Metrics/ParameterLists:
52
49
  Enabled: false
53
50
 
51
+ Style/RescueStandardError:
52
+ Enabled: false
53
+
54
54
  Style/BlockDelimiters:
55
55
  Enabled: false
56
56
 
@@ -3,6 +3,12 @@ language: ruby
3
3
  rvm:
4
4
  - 2.3
5
5
  - 2.4
6
+ - ruby-head
7
+
8
+ matrix:
9
+ allow_failures:
10
+ - rvm: ruby-head
11
+
6
12
  cache: bundler
7
13
  before_install: gem install bundler
8
14
  notifications:
@@ -1,5 +1,11 @@
1
1
  # The revision history of Mato
2
2
 
3
+ ## v2.0.1 - 2017/12/14
4
+
5
+ https://github.com/bitjourney/mato/compare/v2.0.0...v2.0.1
6
+
7
+ * fix ToC renderer to make consistent HTML from inconsistent headings [#12](https://github.com/bitjourney/mato/pull/12)
8
+
3
9
  ## v2.0.0 - 2017/11/27
4
10
 
5
11
  https://github.com/bitjourney/mato/compare/v1.3.1...v2.0.0
@@ -10,6 +10,7 @@ module Mato
10
10
  ANCHOR_SELECTOR = "a.#{AnchorBuilder::CSS_CLASS_NAME}"
11
11
 
12
12
  # @param [Nokogiri::HTML::DocumentFragment] doc
13
+ # @return [String]
13
14
  def call(doc)
14
15
  s = +''
15
16
 
@@ -17,13 +18,22 @@ module Mato
17
18
 
18
19
  doc.css(H_SELECTOR).each do |hx|
19
20
  h_level = level(hx)
21
+
20
22
  if h_level > stack.last
21
23
  stack.push(h_level)
22
24
  s << %{<ul>\n}
23
25
  elsif h_level < stack.last
24
- while stack.last > h_level
25
- s << %{</li></ul>\n}
26
- stack.pop
26
+ while h_level < stack.last
27
+ # keep the user-level stack top element (i.e. [0, #]) here
28
+ if stack.size <= 2
29
+ s << %{</li>\n}
30
+ stack.pop
31
+ stack.push(h_level)
32
+ break
33
+ else
34
+ s << %{</li></ul>\n}
35
+ stack.pop
36
+ end
27
37
  end
28
38
  else
29
39
  s << %{</li>\n}
@@ -49,6 +59,7 @@ module Mato
49
59
  end
50
60
  end
51
61
 
62
+ # roll up all the stack elements
52
63
  while stack.last != 0
53
64
  stack.pop
54
65
  s << %{</li></ul>\n}
@@ -60,6 +71,7 @@ module Mato
60
71
  private
61
72
 
62
73
  # @param [Nokogiri::XML::Node] node
74
+ # @return [Integer] 1 to 6
63
75
  def level(node)
64
76
  /\d+/.match(node.name)[0].to_i
65
77
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mato
4
- VERSION = "2.0.0"
4
+ VERSION = "2.0.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mato
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - FUJI Goro
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-11-27 00:00:00.000000000 Z
11
+ date: 2017-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commonmarker