source2md 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/examples/cli-test.rs +6 -3
- data/examples/cli-test.sh +1 -1
- data/lib/source2md/cli.rb +3 -3
- data/lib/source2md/code_block.rb +17 -22
- data/lib/source2md/element.rb +11 -4
- data/lib/source2md/formatter/type_code_include.rb +1 -1
- data/lib/source2md/formatter/type_method.rb +15 -7
- data/lib/source2md/formatter/{type_md_title.rb → type_nop.rb} +3 -3
- data/lib/source2md/formatter/type_raw_include.rb +2 -1
- data/lib/source2md/formatter/type_source_block.rb +4 -4
- data/lib/source2md/formatter/type_table.rb +5 -5
- data/lib/source2md/formatter/type_text.rb +5 -3
- data/lib/source2md/generator.rb +1 -1
- data/lib/source2md/scanner.rb +4 -4
- data/lib/source2md/text_helper.rb +13 -4
- data/lib/source2md/version.rb +1 -1
- data/lib/source2md.rb +1 -0
- data/spec/code_block_spec.rb +2 -1
- data/spec/formatter/type_code_include_spec.rb +3 -3
- data/spec/formatter/type_method_spec.rb +3 -2
- data/spec/formatter/type_partial_code_spec.rb +1 -1
- data/spec/formatter/type_raw_include_spec.rb +1 -1
- data/spec/formatter/type_source_block_spec.rb +2 -2
- data/spec/formatter/type_table_spec.rb +2 -2
- data/spec/formatter/type_text_spec.rb +5 -4
- data/spec/scanner_spec.rb +15 -5
- data/spec/text_helper_spec.rb +8 -4
- metadata +3 -6
- data/examples/type_md_title.rb +0 -15
- data/spec/formatter/type_md_title_spec.rb +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2ac00b7cc8674c792566d8d08c5d2f1b8f5cf755ceca1479b2ac8248ad6dac3e
|
4
|
+
data.tar.gz: e7c61a968ca24419cc5a62c86437388f77cd865895ac038a5565b1a4ab4c180d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 25222fde61442a0fceba5daa0e0ff09e7343c0fcacf7123670d85ee66f3a4df50533ec40b211b851eea0870bf64f781b9dd283dc26650a1d7a004d27a95dd513
|
7
|
+
data.tar.gz: c89ccfdb613ee1a8fa95eef6a1524be3fe7534a2e5c2fd18fceba4895f87711febc078292f4b974c1ae7a525d75af8e2e528c10b59a55678c7f2730814776077
|
data/examples/cli-test.rs
CHANGED
data/examples/cli-test.sh
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
#!/bin/sh
|
2
|
-
source2md generate -d
|
2
|
+
../.bin/source2md generate -d cli-test.rs
|
data/lib/source2md/cli.rb
CHANGED
@@ -2,7 +2,8 @@ module Source2MD
|
|
2
2
|
class Cli < Thor
|
3
3
|
class_option :debug, type: :boolean, aliases: "-d", default: false
|
4
4
|
class_option :xmp_out_exclude, type: :boolean, aliases: "-x", default: false
|
5
|
-
class_option :readonly, type: :boolean, default: true
|
5
|
+
class_option :readonly, type: :boolean, aliases: "-r", default: true
|
6
|
+
class_option :default_lang, type: :string, aliases: "-l", default: "ruby"
|
6
7
|
|
7
8
|
def initialize(...)
|
8
9
|
super
|
@@ -14,8 +15,7 @@ module Source2MD
|
|
14
15
|
|
15
16
|
Source2MD.xmp_out_exclude = options[:xmp_out_exclude]
|
16
17
|
Source2MD.readonly = options[:readonly]
|
17
|
-
|
18
|
-
tp Source2MD.config
|
18
|
+
Source2MD.default_lang = options[:default_lang]
|
19
19
|
end
|
20
20
|
|
21
21
|
# default_command :generate
|
data/lib/source2md/code_block.rb
CHANGED
@@ -1,24 +1,22 @@
|
|
1
1
|
module Source2MD
|
2
2
|
class CodeBlock
|
3
3
|
PADDING_KEEP = 2
|
4
|
-
MARK =
|
4
|
+
MARK = %r{(?:#|//) =>}
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
def initialize(code, options = {})
|
9
|
-
@code = code
|
6
|
+
def initialize(text, options = {})
|
7
|
+
@text = text
|
10
8
|
@options = {
|
11
|
-
:lang =>
|
9
|
+
:lang => nil,
|
12
10
|
# :single_sharp_replace_to_blank_line => false,
|
13
11
|
}.merge(options)
|
14
12
|
end
|
15
13
|
|
16
14
|
def to_md
|
17
15
|
[
|
18
|
-
"```#{code_block_head}",
|
16
|
+
"```#{code_block_head}\n",
|
19
17
|
normalized_code,
|
20
|
-
"
|
21
|
-
]
|
18
|
+
"```\n",
|
19
|
+
].join
|
22
20
|
end
|
23
21
|
|
24
22
|
private
|
@@ -28,7 +26,7 @@ module Source2MD
|
|
28
26
|
if s = @options[:desc]
|
29
27
|
o << s
|
30
28
|
else
|
31
|
-
if s =
|
29
|
+
if s = lang
|
32
30
|
o << s
|
33
31
|
end
|
34
32
|
if s = @options[:name]
|
@@ -40,17 +38,14 @@ module Source2MD
|
|
40
38
|
end
|
41
39
|
|
42
40
|
def normalized_code
|
43
|
-
lines.collect(&method(:normalize))
|
41
|
+
lines.collect(&method(:normalize)).join
|
44
42
|
end
|
45
43
|
|
46
44
|
def normalize(line)
|
47
45
|
# if @options[:single_sharp_replace_to_blank_line]
|
48
46
|
# line = single_sharp_replace_to_blank_line(line)
|
49
47
|
# end
|
50
|
-
|
51
|
-
line = comment_mark_justfiy(line)
|
52
|
-
end
|
53
|
-
line
|
48
|
+
comment_mark_justfiy(line)
|
54
49
|
end
|
55
50
|
|
56
51
|
# def single_sharp_replace_to_blank_line(line)
|
@@ -66,24 +61,24 @@ module Source2MD
|
|
66
61
|
end
|
67
62
|
|
68
63
|
def raw_lines
|
69
|
-
@raw_lines ||=
|
64
|
+
@raw_lines ||= @text.lines
|
70
65
|
end
|
71
66
|
|
72
67
|
def lines
|
73
|
-
@lines ||=
|
74
|
-
min = raw_lines.collect { |e| e.slice(/^\s*/).size }.min
|
75
|
-
re = /^\s{#{min}}/
|
76
|
-
raw_lines.collect { |e| e.remove(re) }
|
77
|
-
end
|
68
|
+
@lines ||= TextHelper.space_prefix_remove(@text).lines
|
78
69
|
end
|
79
70
|
|
80
71
|
def max
|
81
72
|
@max ||= yield_self do
|
82
73
|
av = lines
|
83
74
|
av = av.find_all { |e| e.match?(MARK) }
|
84
|
-
av = av.collect { |e| e.gsub(/\s*#{MARK}
|
75
|
+
av = av.collect { |e| e.gsub(/\s*#{MARK}.*\R/, "").size }
|
85
76
|
av.max
|
86
77
|
end
|
87
78
|
end
|
79
|
+
|
80
|
+
def lang
|
81
|
+
@options[:lang] || ENV["DEFAULT_LANG"] || Source2MD.default_lang
|
82
|
+
end
|
88
83
|
end
|
89
84
|
end
|
data/lib/source2md/element.rb
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
module Source2MD
|
2
2
|
class Element
|
3
|
-
KEY_VALUE_REGEXP =
|
3
|
+
KEY_VALUE_REGEXP = /^\s*(?:#|\/\/)\+(\S+):\s*(.*)\R?/ # #+key: value
|
4
4
|
|
5
5
|
PLUGINS = [
|
6
6
|
Formatter::TypeHidden, # #+hidden: true
|
7
|
-
Formatter::TypeMdTitle, # ## foo ##
|
8
7
|
Formatter::TypeCodeInclude, # #+code_include: path/to/foo.html xml:SAMPLE.xml
|
9
8
|
Formatter::TypeRawInclude, # #+raw_include: path/to/file.txt
|
10
9
|
Formatter::TypeParseInclude, # #+parse_include: path/to/file.txt
|
@@ -34,13 +33,21 @@ module Source2MD
|
|
34
33
|
end
|
35
34
|
|
36
35
|
def body
|
37
|
-
@body ||= @content.remove(KEY_VALUE_REGEXP).
|
36
|
+
@body ||= @content.remove(KEY_VALUE_REGEXP).freeze
|
38
37
|
end
|
39
38
|
|
40
39
|
private
|
41
40
|
|
42
41
|
def support_klass
|
43
|
-
@support_klass ||=
|
42
|
+
@support_klass ||= yield_self do
|
43
|
+
Source2MD.logger.debug { "head: #{head.inspect}" }
|
44
|
+
Source2MD.logger.debug { "body: #{body.inspect}" }
|
45
|
+
PLUGINS.find do |e|
|
46
|
+
e.accept?(self).tap do |result|
|
47
|
+
Source2MD.logger.debug { "#{e} => #{result}" }
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
44
51
|
end
|
45
52
|
|
46
53
|
def debug_log(object)
|
@@ -6,18 +6,26 @@ module Source2MD
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def to_md
|
9
|
-
[
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
9
|
+
o = []
|
10
|
+
o << "### #{element.head["name"]} ###\n"
|
11
|
+
if v = element.head["desc"]
|
12
|
+
o << "\n"
|
13
|
+
o << v + "\n"
|
14
|
+
o << "\n"
|
15
|
+
end
|
16
|
+
o << CodeBlock.new(body).to_md
|
17
|
+
if v = element.head["comment"]
|
18
|
+
o << "\n"
|
19
|
+
o << v + "\n"
|
20
|
+
o << "\n"
|
21
|
+
end
|
22
|
+
o.join
|
15
23
|
end
|
16
24
|
|
17
25
|
private
|
18
26
|
|
19
27
|
def body
|
20
|
-
element.body.gsub(
|
28
|
+
element.body.gsub(%r{(#|//)$}, "")
|
21
29
|
end
|
22
30
|
end
|
23
31
|
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
module Source2MD
|
2
2
|
module Formatter
|
3
|
-
class
|
3
|
+
class TypeNop < Base
|
4
4
|
def self.accept?(element)
|
5
|
-
element.head
|
5
|
+
element.head["nop"]
|
6
6
|
end
|
7
7
|
|
8
8
|
def to_md
|
9
|
-
|
9
|
+
""
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
@@ -2,7 +2,7 @@ module Source2MD
|
|
2
2
|
module Formatter
|
3
3
|
class TypeSourceBlock < Base
|
4
4
|
def self.accept?(element)
|
5
|
-
element.body.
|
5
|
+
element.body.match?(%r{(?:#|//)\+BEGIN_SRC})
|
6
6
|
end
|
7
7
|
|
8
8
|
def to_md
|
@@ -15,12 +15,12 @@ module Source2MD
|
|
15
15
|
private
|
16
16
|
|
17
17
|
def body
|
18
|
-
element.body.match(
|
18
|
+
element.body.match(%r{(?:#|//)\+BEGIN_SRC.*?\R(.*)(?:#|//)\+END_SRC}m).captures.first
|
19
19
|
end
|
20
20
|
|
21
21
|
def code_block_desc
|
22
|
-
if md = element.body.match(
|
23
|
-
md.captures.first
|
22
|
+
if md = element.body.match(%r{(?:#|//)\+BEGIN_SRC (.+)\R})
|
23
|
+
md.captures.first
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
@@ -2,15 +2,15 @@ module Source2MD
|
|
2
2
|
module Formatter
|
3
3
|
class TypeTable < Base
|
4
4
|
def self.accept?(element)
|
5
|
-
!element.body.empty? && element.body.lines.all? { |e| e.match?(
|
5
|
+
!element.body.empty? && element.body.lines.all? { |e| e.match?(%r{^\s*(#|//) \|.*\|$}) }
|
6
6
|
end
|
7
7
|
|
8
8
|
def to_md
|
9
9
|
element.body
|
10
|
-
.remove(
|
11
|
-
.remove(/\A\|-.*?-\|\R
|
12
|
-
.remove(/^\|-.*?-\|\z/)
|
13
|
-
.gsub(/-\+-/, "-|-")
|
10
|
+
.remove(%r{^\s*(#|//) })
|
11
|
+
.remove(/\A\|-.*?-\|\R/) # top
|
12
|
+
.remove(/^\|-.*?-\|\R\z/) # bottom
|
13
|
+
.gsub(/-\+-/, "-|-")
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
@@ -3,10 +3,12 @@ module Source2MD
|
|
3
3
|
class TypeText < Base
|
4
4
|
# "# xxx"
|
5
5
|
# "#"
|
6
|
-
REGEXP =
|
6
|
+
REGEXP = %r{^\s*(?:#|//)( |$)}
|
7
7
|
|
8
8
|
def self.accept?(element)
|
9
|
-
element.body.
|
9
|
+
if element.body.present?
|
10
|
+
element.body.lines.all? { |e| e.match?(REGEXP) }
|
11
|
+
end
|
10
12
|
end
|
11
13
|
|
12
14
|
def to_md
|
@@ -26,7 +28,7 @@ module Source2MD
|
|
26
28
|
if element.head["hankaku_kana"] == "true"
|
27
29
|
s = TextHelper.hankaku_kana(s)
|
28
30
|
end
|
29
|
-
s
|
31
|
+
TextHelper.eol_enter(s)
|
30
32
|
end
|
31
33
|
end
|
32
34
|
end
|
data/lib/source2md/generator.rb
CHANGED
data/lib/source2md/scanner.rb
CHANGED
@@ -4,7 +4,7 @@ module Source2MD
|
|
4
4
|
|
5
5
|
SRC_BEGIN_KEY = "BEGIN_SRC"
|
6
6
|
SRC_END_KEY = "END_SRC"
|
7
|
-
SRC_BLOCK_RE =
|
7
|
+
SRC_BLOCK_RE = %r{^\s*(?:#|//)\+#{SRC_BEGIN_KEY}.*?^\s*(?:#|//)\+#{SRC_END_KEY}}m
|
8
8
|
|
9
9
|
NORMAL_BLOCK_RE = /.*?#{SEPARATOR}/m
|
10
10
|
|
@@ -19,12 +19,12 @@ module Source2MD
|
|
19
19
|
|
20
20
|
def to_a
|
21
21
|
v = @content
|
22
|
+
v = v.rstrip + "\n\n"
|
22
23
|
if Source2MD.xmp_out_exclude
|
23
|
-
v = v.remove(
|
24
|
+
v = v.remove(%r{^(?:#|//) >>.*$})
|
24
25
|
end
|
25
|
-
v = v + "\n\n"
|
26
26
|
v = v.scan(PARAGRAPH_RE)
|
27
|
-
v = v.collect
|
27
|
+
v = v.collect { |e| e.rstrip + "\n" }
|
28
28
|
v = v.find_all(&:present?)
|
29
29
|
end
|
30
30
|
end
|
@@ -6,10 +6,6 @@ module Source2MD
|
|
6
6
|
text.gsub(/\n{3,}/, "\n\n")
|
7
7
|
end
|
8
8
|
|
9
|
-
def add_newline_at_end_of_text(text)
|
10
|
-
text.strip + "\n"
|
11
|
-
end
|
12
|
-
|
13
9
|
def oneline(text)
|
14
10
|
text.remove(/\R+/)
|
15
11
|
end
|
@@ -21,5 +17,18 @@ module Source2MD
|
|
21
17
|
def hankaku_kana(text)
|
22
18
|
NKF.nkf("-wxZ4", text)
|
23
19
|
end
|
20
|
+
|
21
|
+
def indent(text)
|
22
|
+
text.gsub(/^/, " ")
|
23
|
+
end
|
24
|
+
|
25
|
+
def eol_enter(text)
|
26
|
+
text.rstrip + "\n"
|
27
|
+
end
|
28
|
+
|
29
|
+
def space_prefix_remove(text)
|
30
|
+
min = text.lines.reject(&:blank?).collect { |e| e.slice(/^\s*/).size }.min
|
31
|
+
text.remove(/^ {#{min}}/)
|
32
|
+
end
|
24
33
|
end
|
25
34
|
end
|
data/lib/source2md/version.rb
CHANGED
data/lib/source2md.rb
CHANGED
data/spec/code_block_spec.rb
CHANGED
@@ -6,7 +6,7 @@ module Source2MD
|
|
6
6
|
actual = Element.new(<<~EOS).to_md
|
7
7
|
#+code_include: #{__dir__}/sample.yml
|
8
8
|
EOS
|
9
|
-
actual.should == <<~EOS
|
9
|
+
actual.should == <<~EOS
|
10
10
|
```yml:sample.yml
|
11
11
|
(yaml)
|
12
12
|
```
|
@@ -19,7 +19,7 @@ EOS
|
|
19
19
|
#+lang: (lang)
|
20
20
|
#+name: (name)
|
21
21
|
EOS
|
22
|
-
actual.should == <<~EOS
|
22
|
+
actual.should == <<~EOS
|
23
23
|
```(lang):(name)
|
24
24
|
(yaml)
|
25
25
|
```
|
@@ -30,7 +30,7 @@ EOS
|
|
30
30
|
actual = Element.new(<<~EOS).to_md
|
31
31
|
#+code_include: #{__dir__}/sample.yml yaml:filename
|
32
32
|
EOS
|
33
|
-
actual.should == <<~EOS
|
33
|
+
actual.should == <<~EOS
|
34
34
|
```yaml:filename
|
35
35
|
(yaml)
|
36
36
|
```
|
@@ -3,7 +3,7 @@ require "spec_helper"
|
|
3
3
|
module Source2MD
|
4
4
|
describe do
|
5
5
|
it "works" do
|
6
|
-
actual = Element.new(<<~EOS).to_md
|
6
|
+
actual = Element.new(TextHelper.indent(<<~EOS)).to_md
|
7
7
|
#+name: (name)
|
8
8
|
#+desc: (desc)
|
9
9
|
#+comment: (comment)
|
@@ -11,7 +11,7 @@ module Source2MD
|
|
11
11
|
#
|
12
12
|
(code2)
|
13
13
|
EOS
|
14
|
-
actual.should == <<~EOS
|
14
|
+
actual.should == <<~EOS
|
15
15
|
### (name) ###
|
16
16
|
|
17
17
|
(desc)
|
@@ -23,6 +23,7 @@ EOS
|
|
23
23
|
```
|
24
24
|
|
25
25
|
(comment)
|
26
|
+
|
26
27
|
EOS
|
27
28
|
end
|
28
29
|
end
|
@@ -8,7 +8,7 @@ module Source2MD
|
|
8
8
|
(foo)
|
9
9
|
#+END_SRC
|
10
10
|
EOS
|
11
|
-
actual.should == <<~EOS
|
11
|
+
actual.should == <<~EOS
|
12
12
|
```ruby
|
13
13
|
(foo)
|
14
14
|
```
|
@@ -21,7 +21,7 @@ module Source2MD
|
|
21
21
|
(foo)
|
22
22
|
#+END_SRC
|
23
23
|
EOS
|
24
|
-
actual.should == <<~EOS
|
24
|
+
actual.should == <<~EOS
|
25
25
|
```diff xxx:yyy
|
26
26
|
(foo)
|
27
27
|
```
|
@@ -11,7 +11,7 @@ module Source2MD
|
|
11
11
|
# | d | d | d |
|
12
12
|
# |---+---+---|
|
13
13
|
EOS
|
14
|
-
actual.should == <<~EOS
|
14
|
+
actual.should == <<~EOS
|
15
15
|
| h | h | h |
|
16
16
|
|---|---|---|
|
17
17
|
| d | d | d |
|
@@ -25,7 +25,7 @@ EOS
|
|
25
25
|
# |---+---+---|
|
26
26
|
# | d | d | d |
|
27
27
|
EOS
|
28
|
-
actual.should == <<~EOS
|
28
|
+
actual.should == <<~EOS
|
29
29
|
| h | h | h |
|
30
30
|
|---|---|---|
|
31
31
|
| d | d | d |
|
@@ -3,11 +3,12 @@ require "spec_helper"
|
|
3
3
|
module Source2MD
|
4
4
|
describe do
|
5
5
|
it "works" do
|
6
|
+
# Source2MD.logger.level = :debug
|
6
7
|
actual = Element.new(<<~EOS).to_md
|
7
8
|
# - foo
|
8
9
|
# http://example.com/
|
9
10
|
EOS
|
10
|
-
actual.should == <<~EOS
|
11
|
+
actual.should == <<~EOS
|
11
12
|
- foo
|
12
13
|
http://example.com/
|
13
14
|
EOS
|
@@ -22,7 +23,7 @@ EOS
|
|
22
23
|
# c
|
23
24
|
# d
|
24
25
|
EOS
|
25
|
-
actual.should == <<~EOS
|
26
|
+
actual.should == <<~EOS
|
26
27
|
abcd
|
27
28
|
EOS
|
28
29
|
end
|
@@ -36,7 +37,7 @@ EOS
|
|
36
37
|
# c
|
37
38
|
# d
|
38
39
|
EOS
|
39
|
-
actual.should == <<~EOS
|
40
|
+
actual.should == <<~EOS
|
40
41
|
a b c d
|
41
42
|
EOS
|
42
43
|
end
|
@@ -46,7 +47,7 @@ EOS
|
|
46
47
|
#+hankaku_kana: true
|
47
48
|
# アア
|
48
49
|
EOS
|
49
|
-
actual.should == "
|
50
|
+
actual.should == "アア\n"
|
50
51
|
end
|
51
52
|
end
|
52
53
|
end
|
data/spec/scanner_spec.rb
CHANGED
@@ -21,13 +21,23 @@ module Source2MD
|
|
21
21
|
foo
|
22
22
|
EOS
|
23
23
|
|
24
|
-
ary
|
25
|
-
assert { ary == ["foo", "#+BEGIN_SRC\n\nfoo\n\n#+END_SRC", "foo", "#+BEGIN_SRC\nfoo\n#+END_SRC", "foo"] }
|
24
|
+
assert { ary == ["foo\n", "#+BEGIN_SRC\n\nfoo\n\n#+END_SRC\n", "foo\n", "#+BEGIN_SRC\nfoo\n#+END_SRC\n", "foo\n"] }
|
26
25
|
end
|
27
26
|
end
|
28
27
|
end
|
29
|
-
# >>
|
28
|
+
# >> F
|
30
29
|
# >>
|
31
|
-
# >>
|
32
|
-
# >>
|
30
|
+
# >> Failures:
|
31
|
+
# >>
|
32
|
+
# >> 1) Source2MD::Scanner works
|
33
|
+
# >> Failure/Error: Unable to find - to read failed line
|
34
|
+
# >> Test::Unit::AssertionFailedError:
|
35
|
+
# >> # -:25:in `block (2 levels) in <module:Source2MD>'
|
36
|
+
# >>
|
37
|
+
# >> Finished in 0.01112 seconds (files took 0.26074 seconds to load)
|
38
|
+
# >> 1 example, 1 failure
|
39
|
+
# >>
|
40
|
+
# >> Failed examples:
|
41
|
+
# >>
|
42
|
+
# >> rspec -:5 # Source2MD::Scanner works
|
33
43
|
# >>
|
data/spec/text_helper_spec.rb
CHANGED
@@ -6,14 +6,18 @@ module Source2MD
|
|
6
6
|
assert { TextHelper.blank_lines_squish("A\nB\n\nC\n\n\nD") == "A\nB\n\nC\n\nD" }
|
7
7
|
end
|
8
8
|
|
9
|
-
it "
|
10
|
-
assert { TextHelper.
|
11
|
-
assert { TextHelper.
|
12
|
-
assert { TextHelper.add_newline_at_end_of_text("A\n\n") == "A\n" }
|
9
|
+
it "eol_enter" do
|
10
|
+
assert { TextHelper.eol_enter("A") == "A\n" }
|
11
|
+
assert { TextHelper.eol_enter("A\n\n") == "A\n" }
|
13
12
|
end
|
14
13
|
|
15
14
|
it "hankaku_kana" do
|
16
15
|
assert { TextHelper.hankaku_kana("アア") == "アア" }
|
17
16
|
end
|
17
|
+
|
18
|
+
it "space_prefix_remove" do
|
19
|
+
assert { TextHelper.space_prefix_remove(" a\n b\n") == "a\n b\n" }
|
20
|
+
assert { TextHelper.space_prefix_remove(" a\n\n b\n") == "a\n\n b\n" }
|
21
|
+
end
|
18
22
|
end
|
19
23
|
end
|
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.10
|
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-08-
|
11
|
+
date: 2023-08-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -177,7 +177,6 @@ files:
|
|
177
177
|
- examples/type_alert.rb
|
178
178
|
- examples/type_code_include.rb
|
179
179
|
- examples/type_hidden.rb
|
180
|
-
- examples/type_md_title.rb
|
181
180
|
- examples/type_method.rb
|
182
181
|
- examples/type_partial_code.rb
|
183
182
|
- examples/type_source_block.rb
|
@@ -194,8 +193,8 @@ files:
|
|
194
193
|
- lib/source2md/formatter/type_code_include.rb
|
195
194
|
- lib/source2md/formatter/type_else.rb
|
196
195
|
- lib/source2md/formatter/type_hidden.rb
|
197
|
-
- lib/source2md/formatter/type_md_title.rb
|
198
196
|
- lib/source2md/formatter/type_method.rb
|
197
|
+
- lib/source2md/formatter/type_nop.rb
|
199
198
|
- lib/source2md/formatter/type_parse_include.rb
|
200
199
|
- lib/source2md/formatter/type_partial_code.rb
|
201
200
|
- lib/source2md/formatter/type_raw_include.rb
|
@@ -219,7 +218,6 @@ files:
|
|
219
218
|
- spec/formatter/type_alert_spec.rb
|
220
219
|
- spec/formatter/type_code_include_spec.rb
|
221
220
|
- spec/formatter/type_hidden_spec.rb
|
222
|
-
- spec/formatter/type_md_title_spec.rb
|
223
221
|
- spec/formatter/type_method_spec.rb
|
224
222
|
- spec/formatter/type_parse_include_spec.rb
|
225
223
|
- spec/formatter/type_partial_code_spec.rb
|
@@ -261,7 +259,6 @@ test_files:
|
|
261
259
|
- spec/formatter/type_alert_spec.rb
|
262
260
|
- spec/formatter/type_code_include_spec.rb
|
263
261
|
- spec/formatter/type_hidden_spec.rb
|
264
|
-
- spec/formatter/type_md_title_spec.rb
|
265
262
|
- spec/formatter/type_method_spec.rb
|
266
263
|
- spec/formatter/type_parse_include_spec.rb
|
267
264
|
- spec/formatter/type_partial_code_spec.rb
|
data/examples/type_md_title.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
#+hidden: true
|
2
|
-
require "./setup"
|
3
|
-
|
4
|
-
puts Source2MD::Element.new(<<~EOS).to_md
|
5
|
-
## foo ##
|
6
|
-
EOS
|
7
|
-
# >> > -------------------------------------------------------------------------------- Source2MD::Part::TypeMdTitle
|
8
|
-
# >> > {}
|
9
|
-
# >> > ------------------------------------------------------------ in
|
10
|
-
# >> > ## foo ##
|
11
|
-
# >> >
|
12
|
-
# >> > ------------------------------------------------------------ out
|
13
|
-
# >> > ## foo ##
|
14
|
-
# >> > ------------------------------------------------------------
|
15
|
-
# >> ## foo ##
|