mato 2.0.0 → 2.0.1

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: 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