source2md 0.0.4 → 0.0.5
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 +4 -4
- data/README.md +112 -29
- data/Rakefile +1 -0
- data/doc/0100_top.rb +7 -0
- data/doc/0110_code_small.rb +4 -1
- data/doc/0120_code_long.rb +2 -1
- data/doc/0130_hidden.rb +17 -0
- data/doc/0140_code_include.rb +26 -0
- data/doc/0150_raw_include.rb +16 -0
- data/doc/{0130_title.rb → 0160_title.rb} +8 -5
- data/doc/{0140_md_like_title.rb → 0170_md_like_title.rb} +9 -6
- data/doc/{0150_table.rb → 0180_table.rb} +2 -1
- data/doc/{0160_method.rb → 0190_method.rb} +2 -1
- data/doc/{0170_alert.rb → 0200_alert.rb} +2 -1
- data/doc/0210_text.rb +18 -0
- data/doc/0220_text_oneline.rb +18 -0
- data/doc/0230_parse_include.rb +18 -0
- data/examples/cli.rb +1 -0
- data/examples/element_text.rb +2 -1
- data/examples/scanner.rb +1 -0
- data/examples/{element_alert.rb → type_alert.rb} +6 -5
- data/examples/type_code_include.rb +21 -0
- data/examples/{element_md_header.rb → type_hidden.rb} +2 -1
- data/examples/{element_md_title.rb → type_md_title.rb} +2 -1
- data/examples/{element_method.rb → type_method.rb} +2 -1
- data/examples/{element_partial_code.rb → type_partial_code.rb} +2 -1
- data/examples/{element_source_block.rb → type_source_block.rb} +2 -1
- data/examples/{element_table.rb → type_table.rb} +1 -0
- data/examples/{element_deep_comment.rb → type_text.rb} +16 -10
- data/examples/{element_title.rb → type_title.rb} +2 -1
- data/examples/{element_warn.rb → type_warn.rb} +2 -1
- data/lib/source2md/code_block.rb +12 -6
- data/lib/source2md/element.rb +17 -16
- data/lib/source2md/{type → formatter}/base.rb +4 -5
- data/lib/source2md/{type/element_alert.rb → formatter/type_alert.rb} +4 -4
- data/lib/source2md/{type/element_include.rb → formatter/type_code_include.rb} +5 -5
- data/lib/source2md/{type/element_else.rb → formatter/type_else.rb} +2 -2
- data/lib/source2md/{type/element_reject.rb → formatter/type_hidden.rb} +4 -3
- data/lib/source2md/{type/element_md_title.rb → formatter/type_md_title.rb} +2 -2
- data/lib/source2md/formatter/type_method.rb +24 -0
- data/lib/source2md/formatter/type_parse_include.rb +13 -0
- data/lib/source2md/{type/element_partial_code.rb → formatter/type_partial_code.rb} +2 -2
- data/lib/source2md/formatter/type_raw_include.rb +13 -0
- data/lib/source2md/{type/element_source_block.rb → formatter/type_source_block.rb} +2 -2
- data/lib/source2md/{type/element_table.rb → formatter/type_table.rb} +2 -2
- data/lib/source2md/formatter/type_text.rb +31 -0
- data/lib/source2md/{type/element_title.rb → formatter/type_title.rb} +2 -2
- data/lib/source2md/{type/element_warn.rb → formatter/type_warn.rb} +4 -4
- data/lib/source2md/generator.rb +3 -3
- data/lib/source2md/scanner.rb +2 -2
- data/lib/source2md/text_helper.rb +5 -1
- data/lib/source2md/version.rb +1 -1
- data/spec/code_block_spec.rb +1 -1
- data/spec/formatter/sample.yml +1 -0
- data/spec/{type/element_include_spec.rb → formatter/type_code_include_spec.rb} +6 -6
- data/spec/{type/element_reject_spec.rb → formatter/type_hidden_spec.rb} +3 -2
- data/spec/formatter/type_parse_include_spec.rb +16 -0
- data/spec/{type/element_md_header_spec.rb → formatter/type_raw_include_spec.rb} +2 -6
- data/spec/{type/element_text_spec.rb → formatter/type_text_spec.rb} +14 -2
- metadata +67 -62
- data/doc/0180_text.rb +0 -15
- data/doc/0190_raw.rb +0 -19
- data/examples/element_include.rb +0 -20
- data/examples/element_reject.rb +0 -17
- data/lib/source2md/type/element_deep_comment.rb +0 -19
- data/lib/source2md/type/element_md_header.rb +0 -13
- data/lib/source2md/type/element_method.rb +0 -24
- data/lib/source2md/type/element_uncomment.rb +0 -24
- data/spec/type/sample.yml +0 -1
- /data/spec/{type/element_alert_spec.rb → formatter/type_alert_spec.rb} +0 -0
- /data/spec/{type/element_md_title_spec.rb → formatter/type_md_title_spec.rb} +0 -0
- /data/spec/{type/element_method_spec.rb → formatter/type_method_spec.rb} +0 -0
- /data/spec/{type/element_partial_code_spec.rb → formatter/type_partial_code_spec.rb} +0 -0
- /data/spec/{type/element_source_block_spec.rb → formatter/type_source_block_spec.rb} +0 -0
- /data/spec/{type/element_table_spec.rb → formatter/type_table_spec.rb} +0 -0
- /data/spec/{type/element_title_spec.rb → formatter/type_title_spec.rb} +0 -0
- /data/spec/{type/element_warn_spec.rb → formatter/type_warn_spec.rb} +0 -0
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: source2md
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Akira Ikeda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-07-
|
11
|
+
date: 2023-07-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -151,37 +151,55 @@ files:
|
|
151
151
|
- doc/0100_top.rb
|
152
152
|
- doc/0110_code_small.rb
|
153
153
|
- doc/0120_code_long.rb
|
154
|
-
- doc/
|
155
|
-
- doc/
|
156
|
-
- doc/
|
157
|
-
- doc/
|
158
|
-
- doc/
|
159
|
-
- doc/
|
160
|
-
- doc/
|
154
|
+
- doc/0130_hidden.rb
|
155
|
+
- doc/0140_code_include.rb
|
156
|
+
- doc/0150_raw_include.rb
|
157
|
+
- doc/0160_title.rb
|
158
|
+
- doc/0170_md_like_title.rb
|
159
|
+
- doc/0180_table.rb
|
160
|
+
- doc/0190_method.rb
|
161
|
+
- doc/0200_alert.rb
|
162
|
+
- doc/0210_text.rb
|
163
|
+
- doc/0220_text_oneline.rb
|
164
|
+
- doc/0230_parse_include.rb
|
161
165
|
- doc/setup.rb
|
162
166
|
- examples/cli.rb
|
163
|
-
- examples/element_alert.rb
|
164
|
-
- examples/element_deep_comment.rb
|
165
|
-
- examples/element_include.rb
|
166
|
-
- examples/element_md_header.rb
|
167
|
-
- examples/element_md_title.rb
|
168
|
-
- examples/element_method.rb
|
169
|
-
- examples/element_partial_code.rb
|
170
|
-
- examples/element_reject.rb
|
171
|
-
- examples/element_source_block.rb
|
172
|
-
- examples/element_table.rb
|
173
167
|
- examples/element_text.rb
|
174
|
-
- examples/element_title.rb
|
175
|
-
- examples/element_warn.rb
|
176
168
|
- examples/input.rb
|
177
169
|
- examples/input.yml
|
178
170
|
- examples/output.md
|
179
171
|
- examples/scanner.rb
|
180
172
|
- examples/setup.rb
|
173
|
+
- examples/type_alert.rb
|
174
|
+
- examples/type_code_include.rb
|
175
|
+
- examples/type_hidden.rb
|
176
|
+
- examples/type_md_title.rb
|
177
|
+
- examples/type_method.rb
|
178
|
+
- examples/type_partial_code.rb
|
179
|
+
- examples/type_source_block.rb
|
180
|
+
- examples/type_table.rb
|
181
|
+
- examples/type_text.rb
|
182
|
+
- examples/type_title.rb
|
183
|
+
- examples/type_warn.rb
|
181
184
|
- lib/source2md.rb
|
182
185
|
- lib/source2md/cli.rb
|
183
186
|
- lib/source2md/code_block.rb
|
184
187
|
- lib/source2md/element.rb
|
188
|
+
- lib/source2md/formatter/base.rb
|
189
|
+
- lib/source2md/formatter/type_alert.rb
|
190
|
+
- lib/source2md/formatter/type_code_include.rb
|
191
|
+
- lib/source2md/formatter/type_else.rb
|
192
|
+
- lib/source2md/formatter/type_hidden.rb
|
193
|
+
- lib/source2md/formatter/type_md_title.rb
|
194
|
+
- lib/source2md/formatter/type_method.rb
|
195
|
+
- lib/source2md/formatter/type_parse_include.rb
|
196
|
+
- lib/source2md/formatter/type_partial_code.rb
|
197
|
+
- lib/source2md/formatter/type_raw_include.rb
|
198
|
+
- lib/source2md/formatter/type_source_block.rb
|
199
|
+
- lib/source2md/formatter/type_table.rb
|
200
|
+
- lib/source2md/formatter/type_text.rb
|
201
|
+
- lib/source2md/formatter/type_title.rb
|
202
|
+
- lib/source2md/formatter/type_warn.rb
|
185
203
|
- lib/source2md/generator.rb
|
186
204
|
- lib/source2md/logger.rb
|
187
205
|
- lib/source2md/scanner.rb
|
@@ -189,40 +207,26 @@ files:
|
|
189
207
|
- lib/source2md/tasks/about.rake
|
190
208
|
- lib/source2md/tasks/test.rake
|
191
209
|
- lib/source2md/text_helper.rb
|
192
|
-
- lib/source2md/type/base.rb
|
193
|
-
- lib/source2md/type/element_alert.rb
|
194
|
-
- lib/source2md/type/element_deep_comment.rb
|
195
|
-
- lib/source2md/type/element_else.rb
|
196
|
-
- lib/source2md/type/element_include.rb
|
197
|
-
- lib/source2md/type/element_md_header.rb
|
198
|
-
- lib/source2md/type/element_md_title.rb
|
199
|
-
- lib/source2md/type/element_method.rb
|
200
|
-
- lib/source2md/type/element_partial_code.rb
|
201
|
-
- lib/source2md/type/element_reject.rb
|
202
|
-
- lib/source2md/type/element_source_block.rb
|
203
|
-
- lib/source2md/type/element_table.rb
|
204
|
-
- lib/source2md/type/element_title.rb
|
205
|
-
- lib/source2md/type/element_uncomment.rb
|
206
|
-
- lib/source2md/type/element_warn.rb
|
207
210
|
- lib/source2md/version.rb
|
208
211
|
- source2md.gemspec
|
209
212
|
- spec/code_block_spec.rb
|
213
|
+
- spec/formatter/sample.yml
|
214
|
+
- spec/formatter/type_alert_spec.rb
|
215
|
+
- spec/formatter/type_code_include_spec.rb
|
216
|
+
- spec/formatter/type_hidden_spec.rb
|
217
|
+
- spec/formatter/type_md_title_spec.rb
|
218
|
+
- spec/formatter/type_method_spec.rb
|
219
|
+
- spec/formatter/type_parse_include_spec.rb
|
220
|
+
- spec/formatter/type_partial_code_spec.rb
|
221
|
+
- spec/formatter/type_raw_include_spec.rb
|
222
|
+
- spec/formatter/type_source_block_spec.rb
|
223
|
+
- spec/formatter/type_table_spec.rb
|
224
|
+
- spec/formatter/type_text_spec.rb
|
225
|
+
- spec/formatter/type_title_spec.rb
|
226
|
+
- spec/formatter/type_warn_spec.rb
|
210
227
|
- spec/scanner_spec.rb
|
211
228
|
- spec/spec_helper.rb
|
212
229
|
- spec/text_helper_spec.rb
|
213
|
-
- spec/type/element_alert_spec.rb
|
214
|
-
- spec/type/element_include_spec.rb
|
215
|
-
- spec/type/element_md_header_spec.rb
|
216
|
-
- spec/type/element_md_title_spec.rb
|
217
|
-
- spec/type/element_method_spec.rb
|
218
|
-
- spec/type/element_partial_code_spec.rb
|
219
|
-
- spec/type/element_reject_spec.rb
|
220
|
-
- spec/type/element_source_block_spec.rb
|
221
|
-
- spec/type/element_table_spec.rb
|
222
|
-
- spec/type/element_text_spec.rb
|
223
|
-
- spec/type/element_title_spec.rb
|
224
|
-
- spec/type/element_warn_spec.rb
|
225
|
-
- spec/type/sample.yml
|
226
230
|
homepage: https://github.com/akicho8/source2md
|
227
231
|
licenses:
|
228
232
|
- MIT
|
@@ -248,19 +252,20 @@ specification_version: 4
|
|
248
252
|
summary: Markdown generator from source code
|
249
253
|
test_files:
|
250
254
|
- spec/code_block_spec.rb
|
255
|
+
- spec/formatter/sample.yml
|
256
|
+
- spec/formatter/type_alert_spec.rb
|
257
|
+
- spec/formatter/type_code_include_spec.rb
|
258
|
+
- spec/formatter/type_hidden_spec.rb
|
259
|
+
- spec/formatter/type_md_title_spec.rb
|
260
|
+
- spec/formatter/type_method_spec.rb
|
261
|
+
- spec/formatter/type_parse_include_spec.rb
|
262
|
+
- spec/formatter/type_partial_code_spec.rb
|
263
|
+
- spec/formatter/type_raw_include_spec.rb
|
264
|
+
- spec/formatter/type_source_block_spec.rb
|
265
|
+
- spec/formatter/type_table_spec.rb
|
266
|
+
- spec/formatter/type_text_spec.rb
|
267
|
+
- spec/formatter/type_title_spec.rb
|
268
|
+
- spec/formatter/type_warn_spec.rb
|
251
269
|
- spec/scanner_spec.rb
|
252
270
|
- spec/spec_helper.rb
|
253
271
|
- spec/text_helper_spec.rb
|
254
|
-
- spec/type/element_alert_spec.rb
|
255
|
-
- spec/type/element_include_spec.rb
|
256
|
-
- spec/type/element_md_header_spec.rb
|
257
|
-
- spec/type/element_md_title_spec.rb
|
258
|
-
- spec/type/element_method_spec.rb
|
259
|
-
- spec/type/element_partial_code_spec.rb
|
260
|
-
- spec/type/element_reject_spec.rb
|
261
|
-
- spec/type/element_source_block_spec.rb
|
262
|
-
- spec/type/element_table_spec.rb
|
263
|
-
- spec/type/element_text_spec.rb
|
264
|
-
- spec/type/element_title_spec.rb
|
265
|
-
- spec/type/element_warn_spec.rb
|
266
|
-
- spec/type/sample.yml
|
data/doc/0180_text.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require "./setup"
|
2
|
-
|
3
|
-
### Text ###
|
4
|
-
|
5
|
-
# If no rule applies and the text begins with `#`, remove the `#`.
|
6
|
-
|
7
|
-
#+BEGIN_SRC
|
8
|
-
puts Source2MD::Section.new(<<~EOS).to_md
|
9
|
-
# Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
10
|
-
# Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
11
|
-
EOS
|
12
|
-
#+END_SRC
|
13
|
-
|
14
|
-
# > Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
15
|
-
# > Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
data/doc/0190_raw.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require "./setup"
|
2
|
-
|
3
|
-
### Raw Text ###
|
4
|
-
|
5
|
-
# Same rule as when writing text, simply remove the leading `#`.
|
6
|
-
|
7
|
-
#+BEGIN_SRC
|
8
|
-
puts Source2MD::Section.new(<<~EOS).to_md
|
9
|
-
# <hr>
|
10
|
-
#
|
11
|
-
# <hr>
|
12
|
-
EOS
|
13
|
-
#+END_SRC
|
14
|
-
|
15
|
-
# > ```
|
16
|
-
# > <hr>
|
17
|
-
# >
|
18
|
-
# > <hr>
|
19
|
-
# > ```
|
data/examples/element_include.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
require "./setup"
|
2
|
-
|
3
|
-
puts Source2MD::Element.new(<<~EOS).to_md
|
4
|
-
|
5
|
-
#+include: input.yml
|
6
|
-
#+name:
|
7
|
-
|
8
|
-
EOS
|
9
|
-
# ~> /Users/ikeda/src/source2md/lib/source2md/type/element_include.rb:27:in `read': No such file or directory @ rb_sysopen - /Users/ikeda/src/source2md/examples/input.yml diff xxx:yyy (Errno::ENOENT)
|
10
|
-
# ~> from /Users/ikeda/src/source2md/lib/source2md/type/element_include.rb:27:in `read'
|
11
|
-
# ~> from /Users/ikeda/src/source2md/lib/source2md/type/element_include.rb:27:in `body'
|
12
|
-
# ~> from /Users/ikeda/src/source2md/lib/source2md/type/element_include.rb:17:in `to_md'
|
13
|
-
# ~> from /Users/ikeda/src/source2md/lib/source2md/type/base.rb:25:in `block in initialize'
|
14
|
-
# ~> from /opt/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/activesupport-7.0.6/lib/active_support/logger_thread_safe_level.rb:58:in `add'
|
15
|
-
# ~> from /opt/rbenv/versions/3.2.2/lib/ruby/3.2.0/logger.rb:689:in `debug'
|
16
|
-
# ~> from /Users/ikeda/src/source2md/lib/source2md/type/base.rb:13:in `initialize'
|
17
|
-
# ~> from /Users/ikeda/src/source2md/lib/source2md/type/element_include.rb:9:in `initialize'
|
18
|
-
# ~> from /Users/ikeda/src/source2md/lib/source2md/element.rb:27:in `new'
|
19
|
-
# ~> from /Users/ikeda/src/source2md/lib/source2md/element.rb:27:in `to_md'
|
20
|
-
# ~> from -:3:in `<main>'
|
data/examples/element_reject.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
require "./setup"
|
2
|
-
|
3
|
-
puts Source2MD::Element.new(<<~EOS).to_md
|
4
|
-
require "setup"
|
5
|
-
EOS
|
6
|
-
# >> --------------------------------------------------------------------------------
|
7
|
-
# >> Source2MD::Type::ElementReject
|
8
|
-
# >>
|
9
|
-
# >> head:
|
10
|
-
# >> {}
|
11
|
-
# >>
|
12
|
-
# >> in:
|
13
|
-
# >> require "setup"
|
14
|
-
# >>
|
15
|
-
# >> out:
|
16
|
-
# >> --------------------------------------------------------------------------------
|
17
|
-
# >>
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module Source2MD
|
2
|
-
module Type
|
3
|
-
class ElementDeepComment < Base
|
4
|
-
def self.accept?(element)
|
5
|
-
element.body.match?(/^##/)
|
6
|
-
end
|
7
|
-
|
8
|
-
def to_md
|
9
|
-
CodeBlock.new(body).to_md
|
10
|
-
end
|
11
|
-
|
12
|
-
private
|
13
|
-
|
14
|
-
def body
|
15
|
-
element.body.gsub(/^##/, "#")
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
module Source2MD
|
2
|
-
module Type
|
3
|
-
class ElementMethod < Base
|
4
|
-
def self.accept?(element)
|
5
|
-
element.head[:name]
|
6
|
-
end
|
7
|
-
|
8
|
-
def to_md
|
9
|
-
[
|
10
|
-
"### #{element.head[:name]} ###",
|
11
|
-
element.head[:desc],
|
12
|
-
body ? CodeBlock.new(body).to_md : nil,
|
13
|
-
element.head[:comment],
|
14
|
-
].compact * "\n\n"
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def body
|
20
|
-
element.body.gsub(/^\#$/, "").presence
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
module Source2MD
|
2
|
-
module Type
|
3
|
-
class ElementUncomment < Base
|
4
|
-
REGEXP = /^#( |$)/
|
5
|
-
|
6
|
-
def self.accept?(element)
|
7
|
-
if element.head.empty?
|
8
|
-
# "# xxx\n" or "#\n"
|
9
|
-
element.body.lines.all? { |e| e.match?(REGEXP) }
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
def to_md
|
14
|
-
body
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def body
|
20
|
-
element.body.remove(REGEXP)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
data/spec/type/sample.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
yaml content
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|