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