source2md 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +200 -36
  3. data/Rakefile +26 -0
  4. data/doc/0100_top.rb +17 -0
  5. data/doc/0110_code_small.rb +23 -0
  6. data/doc/0120_code_long.rb +23 -0
  7. data/doc/0130_title.rb +21 -0
  8. data/doc/0140_md_like_title.rb +21 -0
  9. data/doc/0150_table.rb +35 -0
  10. data/doc/0160_method.rb +37 -0
  11. data/doc/0170_alert.rb +25 -0
  12. data/doc/0180_text.rb +15 -0
  13. data/doc/0190_raw.rb +19 -0
  14. data/doc/setup.rb +4 -0
  15. data/examples/element_alert.rb +22 -0
  16. data/examples/element_deep_comment.rb +12 -2
  17. data/examples/element_include.rb +20 -0
  18. data/examples/element_md_header.rb +18 -2
  19. data/examples/element_md_title.rb +14 -0
  20. data/examples/element_method.rb +27 -3
  21. data/examples/element_partial_code.rb +22 -0
  22. data/examples/element_reject.rb +11 -0
  23. data/examples/element_source_block.rb +28 -0
  24. data/examples/element_table.rb +18 -6
  25. data/examples/element_text.rb +14 -0
  26. data/examples/element_title.rb +24 -0
  27. data/examples/element_warn.rb +22 -0
  28. data/examples/input.rb +11 -7
  29. data/examples/input.yml +3 -0
  30. data/examples/output.md +7 -22
  31. data/examples/scanner.rb +24 -0
  32. data/examples/setup.rb +1 -1
  33. data/lib/source2md/cli.rb +19 -3
  34. data/lib/source2md/code_block.rb +21 -2
  35. data/lib/source2md/element.rb +36 -13
  36. data/lib/source2md/generator.rb +4 -4
  37. data/lib/source2md/logger.rb +3 -0
  38. data/lib/source2md/scanner.rb +34 -0
  39. data/lib/source2md/{file_block.rb → section.rb} +4 -5
  40. data/lib/source2md/tasks/about.rake +1 -1
  41. data/lib/source2md/text_helper.rb +1 -1
  42. data/lib/source2md/type/base.rb +4 -2
  43. data/lib/source2md/type/element_alert.rb +17 -0
  44. data/lib/source2md/type/element_else.rb +18 -0
  45. data/lib/source2md/type/element_include.rb +45 -0
  46. data/lib/source2md/type/element_md_title.rb +13 -0
  47. data/lib/source2md/type/element_method.rb +1 -1
  48. data/lib/source2md/type/{element_pre.rb → element_partial_code.rb} +2 -2
  49. data/lib/source2md/type/element_source_block.rb +25 -0
  50. data/lib/source2md/type/element_table.rb +4 -4
  51. data/lib/source2md/type/element_title.rb +35 -0
  52. data/lib/source2md/type/element_uncomment.rb +24 -0
  53. data/lib/source2md/type/element_warn.rb +19 -0
  54. data/lib/source2md/version.rb +1 -1
  55. data/lib/source2md.rb +12 -5
  56. data/source2md.gemspec +8 -8
  57. data/spec/code_block_spec.rb +1 -1
  58. data/spec/scanner_spec.rb +26 -0
  59. data/spec/spec_helper.rb +2 -1
  60. data/spec/text_helper_spec.rb +15 -0
  61. data/spec/type/element_alert_spec.rb +16 -0
  62. data/spec/type/element_include_spec.rb +40 -0
  63. data/spec/type/element_md_header_spec.rb +1 -17
  64. data/spec/type/{element_title2_spec.rb → element_md_title_spec.rb} +3 -3
  65. data/spec/type/element_method_spec.rb +5 -5
  66. data/spec/type/{element_pre_spec.rb → element_partial_code_spec.rb} +3 -3
  67. data/spec/type/element_reject_spec.rb +1 -1
  68. data/spec/type/element_source_block_spec.rb +31 -0
  69. data/spec/type/element_table_spec.rb +14 -1
  70. data/spec/type/element_text_spec.rb +1 -1
  71. data/spec/type/{element_deep_comment_spec.rb → element_title_spec.rb} +3 -5
  72. data/spec/type/element_warn_spec.rb +16 -0
  73. data/spec/type/sample.yml +1 -0
  74. metadata +70 -32
  75. data/.rspec +0 -1
  76. data/examples/element_pre.rb +0 -8
  77. data/examples/element_title2.rb +0 -6
  78. data/lib/source2md/type/__element_header_comment.rb +0 -40
  79. data/lib/source2md/type/element_text.rb +0 -26
  80. data/lib/source2md/type/element_title2.rb +0 -16
metadata CHANGED
@@ -1,23 +1,23 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: source2md
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
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-13 00:00:00.000000000 Z
11
+ date: 2023-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
- type: :development
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
@@ -25,13 +25,13 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: pathname
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
- type: :development
34
+ type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
@@ -39,13 +39,13 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec
42
+ name: table_format
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
- type: :development
48
+ type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
@@ -53,13 +53,13 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: test-unit
56
+ name: thor
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
- type: :development
62
+ type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
@@ -81,13 +81,13 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: activesupport
84
+ name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
- type: :runtime
90
+ type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
@@ -95,13 +95,13 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: pathname
98
+ name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
- type: :runtime
104
+ type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
@@ -109,13 +109,13 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: thor
112
+ name: rspec
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
- type: :runtime
118
+ type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
@@ -123,13 +123,13 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: table_format
126
+ name: test-unit
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
- type: :runtime
132
+ type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
@@ -144,54 +144,85 @@ extensions: []
144
144
  extra_rdoc_files: []
145
145
  files:
146
146
  - ".gitignore"
147
- - ".rspec"
148
147
  - Gemfile
149
148
  - README.md
150
149
  - Rakefile
151
150
  - bin/source2md
151
+ - doc/0100_top.rb
152
+ - doc/0110_code_small.rb
153
+ - doc/0120_code_long.rb
154
+ - doc/0130_title.rb
155
+ - doc/0140_md_like_title.rb
156
+ - doc/0150_table.rb
157
+ - doc/0160_method.rb
158
+ - doc/0170_alert.rb
159
+ - doc/0180_text.rb
160
+ - doc/0190_raw.rb
161
+ - doc/setup.rb
152
162
  - examples/cli.rb
163
+ - examples/element_alert.rb
153
164
  - examples/element_deep_comment.rb
165
+ - examples/element_include.rb
154
166
  - examples/element_md_header.rb
167
+ - examples/element_md_title.rb
155
168
  - examples/element_method.rb
156
- - examples/element_pre.rb
169
+ - examples/element_partial_code.rb
157
170
  - examples/element_reject.rb
171
+ - examples/element_source_block.rb
158
172
  - examples/element_table.rb
159
173
  - examples/element_text.rb
160
- - examples/element_title2.rb
174
+ - examples/element_title.rb
175
+ - examples/element_warn.rb
161
176
  - examples/input.rb
177
+ - examples/input.yml
162
178
  - examples/output.md
179
+ - examples/scanner.rb
163
180
  - examples/setup.rb
164
181
  - lib/source2md.rb
165
182
  - lib/source2md/cli.rb
166
183
  - lib/source2md/code_block.rb
167
184
  - lib/source2md/element.rb
168
- - lib/source2md/file_block.rb
169
185
  - lib/source2md/generator.rb
186
+ - lib/source2md/logger.rb
187
+ - lib/source2md/scanner.rb
188
+ - lib/source2md/section.rb
170
189
  - lib/source2md/tasks/about.rake
171
190
  - lib/source2md/tasks/test.rake
172
191
  - lib/source2md/text_helper.rb
173
- - lib/source2md/type/__element_header_comment.rb
174
192
  - lib/source2md/type/base.rb
193
+ - lib/source2md/type/element_alert.rb
175
194
  - lib/source2md/type/element_deep_comment.rb
195
+ - lib/source2md/type/element_else.rb
196
+ - lib/source2md/type/element_include.rb
176
197
  - lib/source2md/type/element_md_header.rb
198
+ - lib/source2md/type/element_md_title.rb
177
199
  - lib/source2md/type/element_method.rb
178
- - lib/source2md/type/element_pre.rb
200
+ - lib/source2md/type/element_partial_code.rb
179
201
  - lib/source2md/type/element_reject.rb
202
+ - lib/source2md/type/element_source_block.rb
180
203
  - lib/source2md/type/element_table.rb
181
- - lib/source2md/type/element_text.rb
182
- - lib/source2md/type/element_title2.rb
204
+ - lib/source2md/type/element_title.rb
205
+ - lib/source2md/type/element_uncomment.rb
206
+ - lib/source2md/type/element_warn.rb
183
207
  - lib/source2md/version.rb
184
208
  - source2md.gemspec
185
209
  - spec/code_block_spec.rb
210
+ - spec/scanner_spec.rb
186
211
  - spec/spec_helper.rb
187
- - spec/type/element_deep_comment_spec.rb
212
+ - spec/text_helper_spec.rb
213
+ - spec/type/element_alert_spec.rb
214
+ - spec/type/element_include_spec.rb
188
215
  - spec/type/element_md_header_spec.rb
216
+ - spec/type/element_md_title_spec.rb
189
217
  - spec/type/element_method_spec.rb
190
- - spec/type/element_pre_spec.rb
218
+ - spec/type/element_partial_code_spec.rb
191
219
  - spec/type/element_reject_spec.rb
220
+ - spec/type/element_source_block_spec.rb
192
221
  - spec/type/element_table_spec.rb
193
222
  - spec/type/element_text_spec.rb
194
- - spec/type/element_title2_spec.rb
223
+ - spec/type/element_title_spec.rb
224
+ - spec/type/element_warn_spec.rb
225
+ - spec/type/sample.yml
195
226
  homepage: https://github.com/akicho8/source2md
196
227
  licenses:
197
228
  - MIT
@@ -217,12 +248,19 @@ specification_version: 4
217
248
  summary: Markdown generator from source code
218
249
  test_files:
219
250
  - spec/code_block_spec.rb
251
+ - spec/scanner_spec.rb
220
252
  - spec/spec_helper.rb
221
- - spec/type/element_deep_comment_spec.rb
253
+ - spec/text_helper_spec.rb
254
+ - spec/type/element_alert_spec.rb
255
+ - spec/type/element_include_spec.rb
222
256
  - spec/type/element_md_header_spec.rb
257
+ - spec/type/element_md_title_spec.rb
223
258
  - spec/type/element_method_spec.rb
224
- - spec/type/element_pre_spec.rb
259
+ - spec/type/element_partial_code_spec.rb
225
260
  - spec/type/element_reject_spec.rb
261
+ - spec/type/element_source_block_spec.rb
226
262
  - spec/type/element_table_spec.rb
227
263
  - spec/type/element_text_spec.rb
228
- - spec/type/element_title2_spec.rb
264
+ - spec/type/element_title_spec.rb
265
+ - spec/type/element_warn_spec.rb
266
+ - spec/type/sample.yml
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --color
@@ -1,8 +0,0 @@
1
- require "./setup"
2
-
3
- puts Source2MD::Element.new(<<~EOS).to_md
4
- code
5
- EOS
6
- # >> ```ruby
7
- # >> code
8
- # >> ```
@@ -1,6 +0,0 @@
1
- require "./setup"
2
-
3
- puts Source2MD::Element.new(<<~EOS).to_md
4
- # title2: (foo)
5
- EOS
6
- # >> ## (foo)
@@ -1,40 +0,0 @@
1
- #
2
- # #- foo
3
- # 1 + 2
4
- #
5
- # ↓
6
- #
7
- # foo
8
- #
9
- # ```ruby
10
- # 1 + 2
11
- # ```
12
- #
13
- module Source2MD
14
- module Type
15
- class ElementHeaderComment < Base
16
- def self.accept?(element)
17
- element.body.match?(/^#-/)
18
- end
19
-
20
- def to_md
21
- [
22
- message,
23
- "```ruby",
24
- body,
25
- "```",
26
- ] * "\n"
27
- end
28
-
29
- private
30
-
31
- def message
32
- element.body.scan(/^#-\s*(.*)/).join
33
- end
34
-
35
- def body
36
- element.body.gsub(/^#-.*\R/, "")
37
- end
38
- end
39
- end
40
- end
@@ -1,26 +0,0 @@
1
- # > # foo
2
- # > # bar
3
- # > ↓
4
- # > foo
5
- # > bar
6
- module Source2MD
7
- module Type
8
- class ElementText < Base
9
- def self.accept?(element)
10
- if element.head.blank?
11
- element.body.lines.all? { |e| e.start_with?("# ") }
12
- end
13
- end
14
-
15
- def to_md
16
- body
17
- end
18
-
19
- private
20
-
21
- def body
22
- element.body.gsub(/^# /, "")
23
- end
24
- end
25
- end
26
- end
@@ -1,16 +0,0 @@
1
- module Source2MD
2
- module Type
3
- class ElementTitle2 < Base
4
- def self.accept?(element)
5
- element.head[:title2]
6
- end
7
-
8
- def to_md
9
- unless Source2MD.quiet
10
- p element.head[:title2]
11
- end
12
- "## #{element.head[:title2]}"
13
- end
14
- end
15
- end
16
- end