sixarm_ruby_markdown_table_of_contents 2.1.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: da33b215d110a63b5f9153ad7d73a8ccf5199d9b09ade074b33dfc1a9bca5f48
4
+ data.tar.gz: '0923bbf3632d8f484468d267dd96b956219c16d17b0817f9f45359824ae0f337'
5
+ SHA512:
6
+ metadata.gz: cd847cd1308214a890b7f5bb9ce05dd67e4091c58de95c0104931dc0a07a4918f66d3ec9497ef03bc9596c9e8bf78497914dedf58cf51c6a8fc2ded71aa7a87e
7
+ data.tar.gz: da896a88acfa9dbc7d8ebb61c92b797311b727d16723364995a5dd43ed73ad6e3fd19045a51867d83b11ef3bf7dbebe1155cafe199b509c76a5c3c5816b2f312
checksums.yaml.gz.sig ADDED
Binary file
data.tar.gz.sig ADDED
Binary file
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ # -*- coding: utf-8 -*-
2
+ require "rake"
3
+ require "rake/testtask"
4
+
5
+ task :default => [:test]
6
+
7
+ Rake::TestTask.new(:test) do |t|
8
+ t.libs.push("lib", "test")
9
+ t.pattern = "test/**/*.rb"
10
+ end
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env ruby
2
+ require "sixarm_ruby_markdown_table_of_contents"
3
+ begin
4
+ markdown_file_path = ARGV.shift
5
+ if nil == markdown_file_path then raise ArgumentError.new("This command needs an argument that is a markdown file path.") end
6
+ file = Markdown::File.new(markdown_file_path)
7
+ if nil == markdown_file_path then raise ArgumentError.new("This command needs a markdown file path that is a valid file.") end
8
+ file.rewrite_toc
9
+ exit 0
10
+ rescue
11
+ STDERR.puts "Error! " + $!.message
12
+ exit 1
13
+ end
@@ -0,0 +1,13 @@
1
+ # -*- coding: utf-8 -*-
2
+ =begin rdoc
3
+ Please see README
4
+ =end
5
+
6
+ require "ostruct"
7
+ require "sixarm_ruby_file_rewrite"
8
+
9
+ module Markdown; end
10
+
11
+ require_relative "sixarm_ruby_markdown_table_of_contents/markdown/headline"
12
+ require_relative "sixarm_ruby_markdown_table_of_contents/markdown/file"
13
+ require_relative "sixarm_ruby_markdown_table_of_contents/markdown/string"
@@ -0,0 +1,16 @@
1
+ # -*- coding: utf-8 -*-
2
+ =begin rdoc
3
+ Markdown::File#refresh_toc
4
+ =end
5
+
6
+ class Markdown::File < ::File
7
+
8
+ def slurp
9
+ Markdown::String.new(read.scrub)
10
+ end
11
+
12
+ def rewrite_toc
13
+ rewrite(slurp.refresh_toc)
14
+ end
15
+
16
+ end
@@ -0,0 +1,24 @@
1
+ # -*- coding: utf-8 -*-
2
+ =begin rdoc
3
+ Headline
4
+ =end
5
+
6
+ class Headline < OpenStruct
7
+
8
+ def to_markdown
9
+ indent + "* " + link + "\n"
10
+ end
11
+
12
+ def indent
13
+ level ? (" " * (level - 2)) : ""
14
+ end
15
+
16
+ def link
17
+ "[#{text}](##{anchor})"
18
+ end
19
+
20
+ def anchor
21
+ text.downcase.gsub(/\W+/,'-')
22
+ end
23
+
24
+ end
@@ -0,0 +1,27 @@
1
+ # -*- coding: utf-8 -*-
2
+ =begin rdoc
3
+ Markdown::String#refresh_toc
4
+ =end
5
+
6
+ module Markdown
7
+
8
+ class String < ::String
9
+
10
+ def generate_toc
11
+ return scan(/^(##+) +(.+)\n/).map{|level, text|
12
+ Headline.new(level: level.length, text: text).to_markdown
13
+ }.join
14
+ end
15
+
16
+ def match_toc
17
+ /(^ *\* \[.*?\]\(#.*?\) *\n)+/m
18
+ end
19
+
20
+ def refresh_toc
21
+ m = match(match_toc)
22
+ return m ? m.pre_match + generate_toc + m.post_match : nil
23
+ end
24
+
25
+ end
26
+
27
+ end
@@ -0,0 +1,14 @@
1
+ # -*- coding: utf-8 -*-
2
+ require "minitest/autorun"
3
+ #require "minitest/benchmark" if ENV["BENCH"]
4
+ require "coveralls"
5
+ require "simplecov"
6
+ Coveralls.wear!
7
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
8
+ SimpleCov::Formatter::HTMLFormatter,
9
+ Coveralls::SimpleCov::Formatter
10
+ ])
11
+ SimpleCov.start
12
+ require "sixarm_ruby_markdown_table_of_contents"
13
+
14
+ require_relative "support/let"
@@ -0,0 +1,54 @@
1
+ # -*- coding: utf-8 -*-
2
+ require "sixarm_ruby_markdown_table_of_contents_test"
3
+
4
+ describe Markdown::File do
5
+
6
+ include Let
7
+ let(:dir){ File.expand_path File.dirname(__FILE__) }
8
+ let(:file_path){ dir + "tempfile"}
9
+ let(:text){ "foo" }
10
+
11
+ describe "#slurp" do
12
+
13
+ before do
14
+ file = Markdown::File.new(file_path, "w")
15
+ file.write(text)
16
+ file.close
17
+ end
18
+
19
+ it "read and scrub, and return a Markdown::String" do
20
+ file = Markdown::File.new(file_path)
21
+ s = file.slurp
22
+ expect(s).must_equal text
23
+ expect(s).must_be_kind_of Markdown::String
24
+ end
25
+
26
+ after do
27
+ File.delete(file_path)
28
+ end
29
+
30
+ end
31
+
32
+ describe "#rewrite_toc" do
33
+
34
+ before do
35
+ file = Markdown::File.new(file_path, "w")
36
+ file.write markdown_input_as_markdown_string
37
+ file.close
38
+ end
39
+
40
+ it "rewrite" do
41
+ file = Markdown::File.new(file_path)
42
+ file.rewrite_toc
43
+ file = Markdown::File.new(file_path)
44
+ expect(file.slurp).must_equal(markdown_output_as_markdown_string)
45
+ file.close
46
+ end
47
+
48
+ after do
49
+ File.delete(file_path)
50
+ end
51
+
52
+ end
53
+
54
+ end
@@ -0,0 +1,60 @@
1
+ # -*- coding: utf-8 -*-
2
+ require "sixarm_ruby_markdown_table_of_contents_test"
3
+
4
+ describe Headline do
5
+
6
+ include Let
7
+
8
+ let(:level){ 3 }
9
+ let(:text){ "Hello World" }
10
+ let(:headline){ Headline.new(level: level, text: text) }
11
+
12
+ describe "#text" do
13
+
14
+ it "return text" do
15
+ expect(headline.text).must_equal "Hello World"
16
+ end
17
+
18
+ end
19
+
20
+ describe "#level" do
21
+
22
+ it "return level" do
23
+ expect(headline.text).must_equal "Hello World"
24
+ end
25
+
26
+ end
27
+
28
+ describe "#indent" do
29
+
30
+ it "return indent, which is two spaces per level greater than H2" do
31
+ expect(headline.indent).must_equal " "
32
+ end
33
+
34
+ end
35
+
36
+ describe "#anchor" do
37
+
38
+ it "return anchor, which is the text as lowercase, and replacing every run of non-word characters with a dash" do
39
+ expect(headline.anchor).must_equal "hello-world"
40
+ end
41
+
42
+ end
43
+
44
+ describe "#link" do
45
+
46
+ it "return link, which is the Markdown formatting of the text and anchor" do
47
+ expect(headline.link).must_equal "[Hello World](#hello-world)"
48
+ end
49
+
50
+ end
51
+
52
+ describe "#to_markdown" do
53
+
54
+ it "return the headline table of contents entry, which is a bullet link, and ending newline" do
55
+ expect(headline.to_markdown).must_equal " * [Hello World](#hello-world)\n"
56
+ end
57
+
58
+ end
59
+
60
+ end
@@ -0,0 +1,34 @@
1
+ # -*- coding: utf-8 -*-
2
+ require "sixarm_ruby_markdown_table_of_contents_test"
3
+
4
+ describe Markdown::String do
5
+
6
+ include Let
7
+
8
+ let(:s) { markdown_input_as_markdown_string }
9
+
10
+ describe "#generate_toc" do
11
+
12
+ it "return the toc" do
13
+ expect(s.generate_toc).must_equal(markdown_output_toc_as_markdown_string)
14
+ end
15
+
16
+ end
17
+
18
+ describe "#match_toc" do
19
+
20
+ it "match on the first occurance of lines that look like a table of contents" do
21
+ expect(s.match_toc).must_equal /(^ *\* \[.*?\]\(#.*?\) *\n)+/m
22
+ end
23
+
24
+ end
25
+
26
+ describe "#refresh_toc" do
27
+
28
+ it "refresh" do
29
+ expect(s.refresh_toc).must_equal(markdown_output_as_markdown_string)
30
+ end
31
+
32
+ end
33
+
34
+ end
@@ -0,0 +1,150 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'minitest/spec'
3
+
4
+ module Let
5
+
6
+ extend Minitest::Spec::DSL
7
+
8
+ let(:markdown_input_as_string){
9
+ <<~XXX
10
+ # Example
11
+
12
+ * [](#)
13
+
14
+ ## Alpha
15
+
16
+ Lorem ipsum
17
+
18
+ ### Bravo
19
+
20
+ Lorem ipsum
21
+
22
+ #### Charlie
23
+
24
+ Lorem ipsum
25
+
26
+ ## Delta
27
+
28
+ Lorem ipsum
29
+
30
+ ### Echo
31
+
32
+ Lorem ipsum
33
+
34
+ #### Foxtrot
35
+
36
+ Lorem ipsum
37
+
38
+ XXX
39
+ }
40
+
41
+ let(:markdown_input_pre_match_as_string){
42
+ <<~XXX
43
+ # Example
44
+
45
+ XXX
46
+ }
47
+
48
+ let(:markdown_input_toc_as_string){
49
+ <<~XXX
50
+ * [](#)
51
+ XXX
52
+ }
53
+
54
+ let(:markdown_input_post_match_as_string){
55
+ <<~XXX
56
+
57
+ ## Alpha
58
+
59
+ Lorem ipsum
60
+
61
+ ### Bravo
62
+
63
+ Lorem ipsum
64
+
65
+ #### Charlie
66
+
67
+ Lorem ipsum
68
+
69
+ ## Delta
70
+
71
+ Lorem ipsum
72
+
73
+ ### Echo
74
+
75
+ Lorem ipsum
76
+
77
+ #### Foxtrot
78
+
79
+ Lorem ipsum
80
+
81
+ XXX
82
+ }
83
+
84
+
85
+ let(:markdown_output_as_string){
86
+ <<~XXX
87
+ # Example
88
+
89
+ * [Alpha](#alpha)
90
+ * [Bravo](#bravo)
91
+ * [Charlie](#charlie)
92
+ * [Delta](#delta)
93
+ * [Echo](#echo)
94
+ * [Foxtrot](#foxtrot)
95
+
96
+ ## Alpha
97
+
98
+ Lorem ipsum
99
+
100
+ ### Bravo
101
+
102
+ Lorem ipsum
103
+
104
+ #### Charlie
105
+
106
+ Lorem ipsum
107
+
108
+ ## Delta
109
+
110
+ Lorem ipsum
111
+
112
+ ### Echo
113
+
114
+ Lorem ipsum
115
+
116
+ #### Foxtrot
117
+
118
+ Lorem ipsum
119
+
120
+ XXX
121
+ }
122
+
123
+ let(:markdown_output_toc_as_string){
124
+ <<~XXX
125
+ * [Alpha](#alpha)
126
+ * [Bravo](#bravo)
127
+ * [Charlie](#charlie)
128
+ * [Delta](#delta)
129
+ * [Echo](#echo)
130
+ * [Foxtrot](#foxtrot)
131
+ XXX
132
+ }
133
+
134
+ let(:markdown_input_as_markdown_string){
135
+ Markdown::String.new(markdown_input_as_string)
136
+ }
137
+
138
+ let(:markdown_input_toc_as_markdown_string){
139
+ Markdown::String.new(markdown_input_toc_as_string)
140
+ }
141
+
142
+ let(:markdown_output_as_markdown_string){
143
+ Markdown::String.new(markdown_output_as_string)
144
+ }
145
+
146
+ let(:markdown_output_toc_as_markdown_string){
147
+ Markdown::String.new(markdown_output_toc_as_string)
148
+ }
149
+
150
+ end
metadata ADDED
@@ -0,0 +1,221 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sixarm_ruby_markdown_table_of_contents
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.1.0
5
+ platform: ruby
6
+ authors:
7
+ - SixArm
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIFPDCCAyQCCQDx7Y5LWGuPPzANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJV
14
+ UzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEP
15
+ MA0GA1UECgwGU2l4QXJtMRMwEQYDVQQDDApzaXhhcm0uY29tMB4XDTE4MDExMzIy
16
+ NDYyM1oXDTIwMTAwOTIyNDYyM1owYDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNh
17
+ bGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDzANBgNVBAoMBlNpeEFy
18
+ bTETMBEGA1UEAwwKc2l4YXJtLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
19
+ AgoCggIBAMMPPjYWd77gRmOEkMb+1H9+ckIHlA325OkES2g5Y58hIDzZYTGIxjSP
20
+ 3N7uYx5qR8qZvuO4F1McGJ/NES2robjQcV/aIRXD+5RjbokyYYGJlJujm5c/wZme
21
+ Us7pOzQxc8QcogsdInwQ6O9hTQ4zBdOFZt6YBp5y9ycXVIApBnxJHBU3W6Ir1hl6
22
+ 3v6RYBgHFd3g0dCwuBoaYZE5MU/4q91vc48XhioqXdJlaDyw1ZMyvE+loi+8quVg
23
+ bpUadC/QUZukABYCu6rS6fiRLffmMy/Db7d8b1fP+J1i4bL5atF4xz8c1BDwc2x1
24
+ mXJDUBznMSDpmjAkUwDjh+330tYT/VTioqobCMSLfwgJI2Uqrr8H8N9yeSsOMAup
25
+ nJKnJHXeZPEGAr2LBCcok2KUcdugdYq/0C+ec1bU8BHDDoEOM54rhPKKmCJentO6
26
+ KJRoJfu0ovQj1/BvSksUUWdvhy6jzXviyQq44GKEwsJix6sdNKEpndVDQGOvHPg5
27
+ gcakte7KrpK2Udwy+dK+caHJWXOouHPPFfdZWr5U9DkNjtvvQrwQUsMxECoByKYA
28
+ 7wmX3SwzodtuzAPGzxuwkqwy1RtHAfbrFINFBxP35G/f16x2mtwEpqsdS4LE+c0C
29
+ l3eEQ8xIv3ijKUZek87Uxk7/JH76C3/9tSQeFkt0NkEduHOR1H7RAgMBAAEwDQYJ
30
+ KoZIhvcNAQELBQADggIBALIBNN7zUhFldUaXWGwv6032ZwM2Sm1U8VF8YaH71NLg
31
+ FhlcuJ0JLkGlxT0/68acS0EwoqOEgaHyPx8eodjyDv2MuJlWJGXIgHgLD66Tu0VA
32
+ Wt1sgA823Rl35WVSMqiyoxwsrGFwMtayNrrlpdhB8Ny8CMA2NfKyEJkh4+xlE72a
33
+ D8Eu8NFr9Tt5lHWXdZBI5BhzhQxPPxeIuw0wZ3+kiwxRie7K4XhKsOIrPmu2i6QV
34
+ Yl/663wZgWpqrroSnc3PE3lsuTW7quUvayjtqMTU2qrh7i21oB+/Nn+I6gcxYJZb
35
+ UlK+tvsqoM94U6sFTjw9mDt62MLQGrJtHShS+ZZiGmWj1sKreuwGJnCVDoBk15xa
36
+ oqlvfvLAMBCqlfrHhvGUfbIMgzb9uXNmCjzYMsQxuIgF6IMis6Kq02NBAR91HPMe
37
+ 2RoY7CdBHMxW+O0tgS2xoQbOwb+ti1j4MbsWpCqS9Mteck0Z7jZpRRrUDjXU+/7Z
38
+ RmW9HX0oLIoCBDChCcEKG0Ma4IvHUgjv47f5iYpkXuhifiK4xMG/s+T5Euw3Wg9J
39
+ tzpk/VnZXj7Ek/earx+N/Z+Wtnl2xENm5IF8SFPeI1HFa9NH47pqtxF1YKpNIEVc
40
+ 2xa2BNHSePe7tys/2hbmZuyMu8X5ERmovsabSXB3a+YwtJh5c2jhA21wF7986s0q
41
+ -----END CERTIFICATE-----
42
+ date: 2018-02-06 00:00:00.000000000 Z
43
+ dependencies:
44
+ - !ruby/object:Gem::Dependency
45
+ name: sixarm_ruby_file_rewrite
46
+ requirement: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: '1'
51
+ - - "<"
52
+ - !ruby/object:Gem::Version
53
+ version: '2'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '1'
61
+ - - "<"
62
+ - !ruby/object:Gem::Version
63
+ version: '2'
64
+ - !ruby/object:Gem::Dependency
65
+ name: minitest
66
+ requirement: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: 5.7.0
71
+ - - "<"
72
+ - !ruby/object:Gem::Version
73
+ version: '6'
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: 5.7.0
81
+ - - "<"
82
+ - !ruby/object:Gem::Version
83
+ version: '6'
84
+ - !ruby/object:Gem::Dependency
85
+ name: sixarm_ruby_minitest_extensions
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: 1.0.8
91
+ - - "<"
92
+ - !ruby/object:Gem::Version
93
+ version: '2'
94
+ type: :development
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: 1.0.8
101
+ - - "<"
102
+ - !ruby/object:Gem::Version
103
+ version: '2'
104
+ - !ruby/object:Gem::Dependency
105
+ name: rake
106
+ requirement: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">"
109
+ - !ruby/object:Gem::Version
110
+ version: 10.4.2
111
+ - - "<"
112
+ - !ruby/object:Gem::Version
113
+ version: '11'
114
+ type: :development
115
+ prerelease: false
116
+ version_requirements: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ">"
119
+ - !ruby/object:Gem::Version
120
+ version: 10.4.2
121
+ - - "<"
122
+ - !ruby/object:Gem::Version
123
+ version: '11'
124
+ - !ruby/object:Gem::Dependency
125
+ name: simplecov
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: 0.10.0
131
+ - - "<"
132
+ - !ruby/object:Gem::Version
133
+ version: '2'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - ">="
139
+ - !ruby/object:Gem::Version
140
+ version: 0.10.0
141
+ - - "<"
142
+ - !ruby/object:Gem::Version
143
+ version: '2'
144
+ - !ruby/object:Gem::Dependency
145
+ name: coveralls
146
+ requirement: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: 0.8.2
151
+ - - "<"
152
+ - !ruby/object:Gem::Version
153
+ version: '2'
154
+ type: :development
155
+ prerelease: false
156
+ version_requirements: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: 0.8.2
161
+ - - "<"
162
+ - !ruby/object:Gem::Version
163
+ version: '2'
164
+ description: Generate a Markdown table of contents via headlines, links, and anchors
165
+ email: sixarm@sixarm.com
166
+ executables:
167
+ - markdown-table-of-contents
168
+ extensions: []
169
+ extra_rdoc_files: []
170
+ files:
171
+ - Rakefile
172
+ - bin/markdown-table-of-contents
173
+ - lib/sixarm_ruby_markdown_table_of_contents.rb
174
+ - lib/sixarm_ruby_markdown_table_of_contents/markdown/file.rb
175
+ - lib/sixarm_ruby_markdown_table_of_contents/markdown/headline.rb
176
+ - lib/sixarm_ruby_markdown_table_of_contents/markdown/string.rb
177
+ - test/sixarm_ruby_markdown_table_of_contents_test.rb
178
+ - test/sixarm_ruby_markdown_table_of_contents_test/markdown/file_test.rb
179
+ - test/sixarm_ruby_markdown_table_of_contents_test/markdown/headline_test.rb
180
+ - test/sixarm_ruby_markdown_table_of_contents_test/markdown/string_test.rb
181
+ - test/support/let.rb
182
+ homepage: http://sixarm.com/
183
+ licenses:
184
+ - Apache-2.0
185
+ - Artistic-2.0
186
+ - BSD-3-Clause
187
+ - CC-BY-NC-SA-4.0
188
+ - AGPL-3.0
189
+ - GPL-2.0
190
+ - GPL-3.0
191
+ - LGPL-3.0
192
+ - MIT
193
+ - MPL-2.0
194
+ - Ruby
195
+ metadata: {}
196
+ post_install_message:
197
+ rdoc_options: []
198
+ require_paths:
199
+ - lib
200
+ required_ruby_version: !ruby/object:Gem::Requirement
201
+ requirements:
202
+ - - ">="
203
+ - !ruby/object:Gem::Version
204
+ version: '0'
205
+ required_rubygems_version: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - ">="
208
+ - !ruby/object:Gem::Version
209
+ version: '0'
210
+ requirements: []
211
+ rubyforge_project:
212
+ rubygems_version: 2.7.3
213
+ signing_key:
214
+ specification_version: 4
215
+ summary: SixArm.com → Ruby → Mardown table of contents
216
+ test_files:
217
+ - test/sixarm_ruby_markdown_table_of_contents_test.rb
218
+ - test/sixarm_ruby_markdown_table_of_contents_test/markdown/file_test.rb
219
+ - test/sixarm_ruby_markdown_table_of_contents_test/markdown/headline_test.rb
220
+ - test/sixarm_ruby_markdown_table_of_contents_test/markdown/string_test.rb
221
+ - test/support/let.rb
metadata.gz.sig ADDED
Binary file