sixarm_ruby_markdown_table_of_contents 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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