html-renderer 0.0.1 → 0.0.2
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/Rakefile +10 -10
- data/VERSION +1 -1
- data/examples/ansi_renderer.rb +19 -7
- data/lib/html-renderer/base.rb +11 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d2be4cf32a612a0e2fa528a0d50e85df36f732e40c408ed3183b6a041c60558
|
4
|
+
data.tar.gz: 1500874bc627082bf07f2e0912ba5b2020cad6987cd9cd29c4add0abe0e5d0db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eda1c880bebd51ed462ca2c07fcec4abfcb80cc30cc9b16b2c7366d4abc46637f3d3f778d36689e3cb6472b60fa28fda2282fea64c49262f6a4246c45468d2d9
|
7
|
+
data.tar.gz: 26dec9aa2c27f6356101c92ed5aabf164249aaec89a99febbb55ecbd4aafe9db1e44d9e914344b49f4919f501cd01d568427f48e267db353d4d7952ba9f36b25
|
data/Rakefile
CHANGED
@@ -1,20 +1,20 @@
|
|
1
|
+
pkgname = "html-renderer"
|
1
2
|
gem_version = File.read("VERSION").strip
|
2
|
-
|
3
|
+
|
4
|
+
gemfile = "#{pkgname}-#{gem_version}.gem"
|
3
5
|
|
4
6
|
task :build do
|
5
7
|
system "gem build .gemspec"
|
8
|
+
system "mkdir pkg/" unless File.directory? "pkg"
|
9
|
+
system "mv #{gemfile} pkg/"
|
6
10
|
end
|
7
|
-
|
11
|
+
|
8
12
|
task :release => :build do
|
9
|
-
system "gem push
|
13
|
+
system "gem push pkg/#{gemfile}"
|
10
14
|
end
|
11
15
|
|
12
|
-
task :
|
13
|
-
system "gem install --local #{gem_name}-#{gem_version}.gem"
|
14
|
-
end
|
16
|
+
task :gem => :build
|
15
17
|
|
16
|
-
task :
|
17
|
-
system "
|
18
|
+
task :install => :build do
|
19
|
+
system "gem install pkg/#{gemfile}"
|
18
20
|
end
|
19
|
-
|
20
|
-
task :default => :spec
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.2
|
data/examples/ansi_renderer.rb
CHANGED
@@ -39,10 +39,6 @@ public
|
|
39
39
|
text
|
40
40
|
end
|
41
41
|
|
42
|
-
def raw_html(html)
|
43
|
-
''
|
44
|
-
end
|
45
|
-
|
46
42
|
def underline(content)
|
47
43
|
content.magenta.bold
|
48
44
|
end
|
@@ -65,12 +61,20 @@ public
|
|
65
61
|
end
|
66
62
|
end
|
67
63
|
|
64
|
+
def anchor(name, title=nil, content=nil)
|
65
|
+
result = "Anchor: ##{name}"
|
66
|
+
result << " (#{title})" if title
|
67
|
+
result << "\n"
|
68
|
+
result << "#{content}\n" if content
|
69
|
+
result
|
70
|
+
end
|
71
|
+
|
68
72
|
def image(link, title, content)
|
69
73
|
link(link, nil, title)
|
70
74
|
end
|
71
75
|
|
72
76
|
def italic(text)
|
73
|
-
text.
|
77
|
+
text.yellow.bold
|
74
78
|
end
|
75
79
|
|
76
80
|
def block_code(code, language)
|
@@ -147,6 +151,14 @@ public
|
|
147
151
|
end
|
148
152
|
end
|
149
153
|
|
154
|
+
def definition_list(defs)
|
155
|
+
defs.each do |dt, dd|
|
156
|
+
puts "<15>#{dt}<7>:".colorize
|
157
|
+
puts " #{dd}"
|
158
|
+
puts
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
150
162
|
def table(header, rows)
|
151
163
|
if header
|
152
164
|
table = Terminal::Table.new(headings: header, rows: rows)
|
@@ -164,5 +176,5 @@ end
|
|
164
176
|
|
165
177
|
|
166
178
|
if __FILE__ == $0
|
167
|
-
puts ANSIRenderer.render(open("test.html"))
|
168
|
-
end
|
179
|
+
puts ANSIRenderer.render(open(ARGV.first || "test.html"))
|
180
|
+
end
|
data/lib/html-renderer/base.rb
CHANGED
@@ -69,9 +69,14 @@ private
|
|
69
69
|
when "a"
|
70
70
|
url = node["href"]
|
71
71
|
title = node["title"]
|
72
|
+
name = node["name"]
|
72
73
|
content = render_children(node, state)
|
73
74
|
|
74
|
-
|
75
|
+
if name and not url
|
76
|
+
anchor(name, title, content)
|
77
|
+
else
|
78
|
+
link(url, title, content)
|
79
|
+
end
|
75
80
|
|
76
81
|
when "img"
|
77
82
|
link = node["src"]
|
@@ -98,11 +103,12 @@ private
|
|
98
103
|
when "hr"
|
99
104
|
separator
|
100
105
|
|
101
|
-
when "p"
|
106
|
+
when "p", "dl"
|
102
107
|
paragraph(render_children(node, state).strip)
|
103
|
-
when "div"
|
108
|
+
when "div", "option", "dd", "dt"
|
104
109
|
div(render_children(node, state))
|
105
110
|
|
111
|
+
# TODO: Pass a complete array to list callbacks (similar to "table")
|
106
112
|
when "ul"
|
107
113
|
list(render_children(node, state), state.list_order)
|
108
114
|
when "ol"
|
@@ -144,7 +150,8 @@ private
|
|
144
150
|
|
145
151
|
when "html", "body", "nav", "span", "form", "label", "input", "button", "section", "fieldset",
|
146
152
|
"menu", "article", "header", "time", "aside", "footer", "nobr", "wbr",
|
147
|
-
"table", "tr", "td", "th", "thead", "tbody", "noscript"
|
153
|
+
"table", "tr", "td", "th", "thead", "tbody", "noscript", "select",
|
154
|
+
"address"
|
148
155
|
render_children(node, state)
|
149
156
|
|
150
157
|
when "head", "script", "link", "style"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: html-renderer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- epitron
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oga
|