source2md 0.0.1 → 0.0.3

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.
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