mdless 2.1.44 → 2.1.46
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mdless/console.rb +286 -274
- data/lib/mdless/converter.rb +143 -141
- data/lib/mdless/tables.rb +17 -16
- data/lib/mdless/version.rb +1 -1
- metadata +2 -2
data/lib/mdless/tables.rb
CHANGED
@@ -14,7 +14,7 @@ module CLIMarkdown
|
|
14
14
|
rows = @string.split(/\r?\n/)
|
15
15
|
rows.each do |row|
|
16
16
|
row.strip!
|
17
|
-
row.sub!(/^\s*\|?/,
|
17
|
+
row.sub!(/^\s*\|?/, "").sub!(/\|?\s*$/, "")
|
18
18
|
row_array = row.split(/\|/)
|
19
19
|
row_array.map! { |cell| cell.strip }
|
20
20
|
if row =~ /^[\|:\- ]+$/
|
@@ -28,13 +28,13 @@ module CLIMarkdown
|
|
28
28
|
fmt.each_with_index do |cell, i|
|
29
29
|
cell.strip!
|
30
30
|
f = case cell
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
31
|
+
when /^:.*?:$/
|
32
|
+
:center
|
33
|
+
when /[^:]+:$/
|
34
|
+
:right
|
35
|
+
else
|
36
|
+
:just
|
37
|
+
end
|
38
38
|
@format_row.push(f)
|
39
39
|
end
|
40
40
|
|
@@ -81,20 +81,21 @@ module CLIMarkdown
|
|
81
81
|
end
|
82
82
|
|
83
83
|
def pad(string, alignment, length)
|
84
|
+
naked = string.uncolor.remove_pre_post.strip
|
84
85
|
case alignment
|
85
86
|
when :center
|
86
|
-
|
87
|
+
naked.strip.center(length, PAD_CHAR).sub(/#{Regexp.escape(naked)}/, string)
|
87
88
|
when :right
|
88
|
-
|
89
|
+
naked.strip.rjust(length, PAD_CHAR).sub(/#{Regexp.escape(naked)}/, string)
|
89
90
|
when :left
|
90
|
-
|
91
|
+
naked.strip.ljust(length, PAD_CHAR).sub(/#{Regexp.escape(naked)}/, string)
|
91
92
|
else
|
92
|
-
|
93
|
+
naked.strip.ljust(length, PAD_CHAR).sub(/#{Regexp.escape(naked)}/, string)
|
93
94
|
end
|
94
95
|
end
|
95
96
|
|
96
97
|
def separator(length, alignment)
|
97
|
-
out =
|
98
|
+
out = "".ljust(length, "-")
|
98
99
|
case alignment
|
99
100
|
when :left
|
100
101
|
":#{out}-"
|
@@ -112,7 +113,7 @@ module CLIMarkdown
|
|
112
113
|
@format_row.each_with_index do |column, i|
|
113
114
|
output.push separator(column_width(i), column)
|
114
115
|
end
|
115
|
-
"|#{output.join(
|
116
|
+
"|#{output.join("|")}|"
|
116
117
|
end
|
117
118
|
|
118
119
|
def table_border
|
@@ -120,14 +121,14 @@ module CLIMarkdown
|
|
120
121
|
@format_row.each_with_index do |column, i|
|
121
122
|
output.push separator(column_width(i), column)
|
122
123
|
end
|
123
|
-
"+#{output.join(
|
124
|
+
"+#{output.join("+").gsub(/:/, "-")}+"
|
124
125
|
end
|
125
126
|
|
126
127
|
def to_md
|
127
128
|
output = []
|
128
129
|
t = table.clone
|
129
130
|
t.each do |row|
|
130
|
-
new_row = row.map.with_index { |cell, i| pad(cell, @format_row[i], column_width(i)) }.join(
|
131
|
+
new_row = row.map.with_index { |cell, i| pad(cell, @format_row[i], column_width(i)) }.join(" | ")
|
131
132
|
output.push("| #{new_row} |")
|
132
133
|
end
|
133
134
|
output.insert(1, header_separator_row)
|
data/lib/mdless/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mdless
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.46
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brett Terpstra
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redcarpet
|