rggen-markdown 0.15.0 → 0.16.0
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.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/README.md +2 -2
- data/lib/rggen/markdown.rb +1 -3
- data/lib/rggen/markdown/utility.rb +2 -5
- data/lib/rggen/markdown/utility/table_formatter.rb +52 -0
- data/lib/rggen/markdown/version.rb +1 -1
- metadata +7 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e35fb93a0fc6227415ad2b8647cd127a579ab0fb98553a116e5b04a970744f4
|
4
|
+
data.tar.gz: 673b9127ce1f4e993a93e06c4cf4928f0976d68fdc3fd06f49e9f934559f4cf1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cae81e6fe7ed9aeda80268bccffae0799e438744a857dbfcb82b29054abef4ab43674b884018c3aa65f841e4de1d468c074f1ad6a0dbd8693e94bcd876a336fa
|
7
|
+
data.tar.gz: 137a5c107c1ce1834a1edc333e9b33c8dfdb941b8125ef5229b2fbbf655b9ed501a9d64087d61a3a9cddd792ed8000564d53002beb5de037750f868f6f9733ec
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
[](https://badge.fury.io/rb/rggen-markdown)
|
2
|
-
[](https://github.com/rggen/rggen-markdown/actions?query=workflow%3ACI)
|
3
3
|
[](https://codeclimate.com/github/rggen/rggen-markdown/maintainability)
|
4
4
|
[](https://codecov.io/gh/rggen/rggen-markdown)
|
5
5
|
[](https://sonarcloud.io/dashboard?id=rggen_rggen-markdown)
|
@@ -34,7 +34,7 @@ Feedbacks, bug reports, questions and etc. are wellcome! You can post them by us
|
|
34
34
|
|
35
35
|
## Copyright & License
|
36
36
|
|
37
|
-
Copyright © 2019 Taichi Ishitani. RgGen::Markdown is licensed under the [MIT License](https://opensource.org/licenses/MIT), see [LICENSE](LICENSE) for futher details.
|
37
|
+
Copyright © 2019-2020 Taichi Ishitani. RgGen::Markdown is licensed under the [MIT License](https://opensource.org/licenses/MIT), see [LICENSE](LICENSE) for futher details.
|
38
38
|
|
39
39
|
## Code of Conduct
|
40
40
|
|
data/lib/rggen/markdown.rb
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'ruport'
|
4
|
-
require 'ruport/wiki_table_formatter'
|
5
|
-
|
6
3
|
require_relative 'markdown/version'
|
7
4
|
require_relative 'markdown/utility/source_file'
|
5
|
+
require_relative 'markdown/utility/table_formatter'
|
8
6
|
require_relative 'markdown/utility'
|
9
7
|
require_relative 'markdown/component'
|
10
8
|
require_relative 'markdown/feature'
|
@@ -19,11 +19,8 @@ module RgGen
|
|
19
19
|
"[#{text}](##{id})"
|
20
20
|
end
|
21
21
|
|
22
|
-
def table(
|
23
|
-
|
24
|
-
rows.each { |row| t << row }
|
25
|
-
end
|
26
|
-
table.to_markdown(io: +'').chomp
|
22
|
+
def table(labels, rows)
|
23
|
+
TableFormatter.new.format(labels, rows)
|
27
24
|
end
|
28
25
|
end
|
29
26
|
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RgGen
|
4
|
+
module Markdown
|
5
|
+
module Utility
|
6
|
+
class TableFormatter
|
7
|
+
include Core::Utility::CodeUtility
|
8
|
+
|
9
|
+
def format(labels, table)
|
10
|
+
code_block do |code|
|
11
|
+
build_md_lines(labels, table).each_with_index do |line, i|
|
12
|
+
code << nl if i.positive?
|
13
|
+
code << line
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def build_md_lines(labels, table)
|
21
|
+
lines = []
|
22
|
+
build_md_line(lines, labels)
|
23
|
+
build_md_line(lines, alignment_marks(labels.size))
|
24
|
+
table.each { |row| build_md_line(lines, row) }
|
25
|
+
lines
|
26
|
+
end
|
27
|
+
|
28
|
+
def build_md_line(lines, row)
|
29
|
+
lines <<
|
30
|
+
['', *row]
|
31
|
+
.map(&method(:escape))
|
32
|
+
.zip(separators(row.size + 1))
|
33
|
+
.flatten
|
34
|
+
end
|
35
|
+
|
36
|
+
def escape(cell)
|
37
|
+
cell.to_s
|
38
|
+
.gsub('|', '|')
|
39
|
+
.gsub("\n", '<br>')
|
40
|
+
end
|
41
|
+
|
42
|
+
def separators(size)
|
43
|
+
Array.new(size, '|')
|
44
|
+
end
|
45
|
+
|
46
|
+
def alignment_marks(size)
|
47
|
+
Array.new(size, ':--')
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
metadata
CHANGED
@@ -1,43 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rggen-markdown
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Taichi Ishitani
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: ruport
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.7'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.7'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: ruport-wiki-table-formatter
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0.2'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0.2'
|
41
13
|
- !ruby/object:Gem::Dependency
|
42
14
|
name: bundler
|
43
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -54,7 +26,7 @@ dependencies:
|
|
54
26
|
version: '0'
|
55
27
|
description: 'Markdown generator for RgGen.
|
56
28
|
|
57
|
-
'
|
29
|
+
'
|
58
30
|
email:
|
59
31
|
- rggen@googlegroups.com
|
60
32
|
executables: []
|
@@ -74,6 +46,7 @@ files:
|
|
74
46
|
- lib/rggen/markdown/setup.rb
|
75
47
|
- lib/rggen/markdown/utility.rb
|
76
48
|
- lib/rggen/markdown/utility/source_file.rb
|
49
|
+
- lib/rggen/markdown/utility/table_formatter.rb
|
77
50
|
- lib/rggen/markdown/version.rb
|
78
51
|
homepage: https://github.com/rggen/rggen-markdown
|
79
52
|
licenses:
|
@@ -91,15 +64,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
91
64
|
requirements:
|
92
65
|
- - ">="
|
93
66
|
- !ruby/object:Gem::Version
|
94
|
-
version: '2.
|
67
|
+
version: '2.4'
|
95
68
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
69
|
requirements:
|
97
70
|
- - ">="
|
98
71
|
- !ruby/object:Gem::Version
|
99
72
|
version: '0'
|
100
73
|
requirements: []
|
101
|
-
rubygems_version: 3.
|
74
|
+
rubygems_version: 3.1.2
|
102
75
|
signing_key:
|
103
76
|
specification_version: 4
|
104
|
-
summary: rggen-markdown-0.
|
77
|
+
summary: rggen-markdown-0.16.0
|
105
78
|
test_files: []
|