ttl2html 1.3.2 → 1.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/ttl2html +1 -2
- data/lib/ttl2html/template.rb +19 -8
- data/lib/ttl2html/version.rb +1 -1
- data/lib/ttl2html.rb +65 -26
- data/locales/en.yml +6 -1
- data/locales/ja.yml +6 -0
- data/templates/about.html.erb +36 -2
- data/templates/layout.html.erb +46 -8
- data/templates/version.html.erb +5 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64841e5acabefa8d0ff72ab9a5b342d2cb8c6a5f3ecbcce5d70d9c223ae6f694
|
4
|
+
data.tar.gz: 4c17bd90212017eccb86e6b96d3d2d1fe87c13841f5a0003a8f19d3e011aa1c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd727e999f72c76af779008495bb858eb27bbf05f4e79b8ac9aeee0c61e3b225f8d5710209dcc29538fa7133c0c4da93573e864b2144447840b36ddb22306b36
|
7
|
+
data.tar.gz: 24fd2e31ebd3df0eb3ee62c62005356f6c66ab7b43697a7e1d82206314d1c038038bc44f145035f7aae87506878f19e458c265a1ebcb2a6fe9b389e70f40ce66
|
data/bin/ttl2html
CHANGED
data/lib/ttl2html/template.rb
CHANGED
@@ -15,7 +15,7 @@ module TTL2HTML
|
|
15
15
|
def initialize(template, param = {})
|
16
16
|
@template = template
|
17
17
|
@param = param.dup
|
18
|
-
@template_path = [
|
18
|
+
@template_path = [ File.join(Dir.pwd, "templates") ]
|
19
19
|
@template_path << File.join(File.dirname(__FILE__), "..", "..", "templates")
|
20
20
|
I18n.load_path << Dir[File.join(File.dirname(__FILE__), "..", "..", "locales") + "/*.yml"]
|
21
21
|
I18n.load_path << Dir[File.expand_path("locales") + "/*.yml"]
|
@@ -39,7 +39,7 @@ module TTL2HTML
|
|
39
39
|
@param.update(param)
|
40
40
|
template = find_template_path(template)
|
41
41
|
tmpl = open(template){|io| io.read }
|
42
|
-
erb = ERB.new(tmpl,
|
42
|
+
erb = ERB.new(tmpl, trim_mode: "-")
|
43
43
|
erb.filename = template
|
44
44
|
erb.result(binding)
|
45
45
|
end
|
@@ -143,10 +143,16 @@ module TTL2HTML
|
|
143
143
|
path
|
144
144
|
end
|
145
145
|
def relative_path(dest)
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
146
|
+
path = nil
|
147
|
+
dest_uri = RDF::IRI.parse(dest)
|
148
|
+
if dest_uri.absolute?
|
149
|
+
path = dest
|
150
|
+
else
|
151
|
+
src = @param[:output_file]
|
152
|
+
src = Pathname.new(src).relative_path_from(Pathname.new(@param[:output_dir])) if @param[:output_dir]
|
153
|
+
path = Pathname(dest).relative_path_from(Pathname(File.dirname src))
|
154
|
+
path = path.to_s + "/" if File.directory? path
|
155
|
+
end
|
150
156
|
path
|
151
157
|
end
|
152
158
|
def relative_path_uri(dest_uri, base_uri)
|
@@ -160,8 +166,12 @@ module TTL2HTML
|
|
160
166
|
end
|
161
167
|
def html_title(param)
|
162
168
|
titles = []
|
163
|
-
|
164
|
-
|
169
|
+
if @template.start_with? "about.html"
|
170
|
+
titles << t("about.title", title: param[:site_title])
|
171
|
+
else
|
172
|
+
titles << param[:title]
|
173
|
+
titles << param[:site_title]
|
174
|
+
end
|
165
175
|
titles.compact.join(" - ")
|
166
176
|
end
|
167
177
|
def shorten_title(title, length = 140)
|
@@ -172,6 +182,7 @@ module TTL2HTML
|
|
172
182
|
end
|
173
183
|
end
|
174
184
|
def get_title(data, default_title = "no title")
|
185
|
+
return default_title if data.nil?
|
175
186
|
if @param[:title_property_perclass] and data["http://www.w3.org/1999/02/22-rdf-syntax-ns#type"]
|
176
187
|
@param[:title_property_perclass].each do |klass, property|
|
177
188
|
if data["http://www.w3.org/1999/02/22-rdf-syntax-ns#type"].include?(klass) and data[property]
|
data/lib/ttl2html/version.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
TTL2HTML::VERSION = "1.3.
|
1
|
+
TTL2HTML::VERSION = "1.3.3"
|
data/lib/ttl2html.rb
CHANGED
@@ -22,9 +22,11 @@ module TTL2HTML
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def load_config(file)
|
25
|
-
config = {}
|
26
|
-
|
27
|
-
|
25
|
+
config = { output_turtle: true }
|
26
|
+
open(file) do |io|
|
27
|
+
YAML.safe_load(io, permitted_classes: [Regexp]).each do |k, v|
|
28
|
+
config[k.intern] = v
|
29
|
+
end
|
28
30
|
end
|
29
31
|
config
|
30
32
|
end
|
@@ -140,7 +142,7 @@ module TTL2HTML
|
|
140
142
|
template = Template.new("default.html.erb", @config)
|
141
143
|
param = @config.dup
|
142
144
|
param[:uri] = uri
|
143
|
-
param[:turtle_uri] =
|
145
|
+
param[:turtle_uri] = uri + ".ttl"
|
144
146
|
param[:data] = v
|
145
147
|
param[:data_inverse] = @data_inverse[uri]
|
146
148
|
param[:data_global] = @data
|
@@ -167,6 +169,7 @@ module TTL2HTML
|
|
167
169
|
else
|
168
170
|
template = Template.new("index.html.erb", @config)
|
169
171
|
param = @config.dup
|
172
|
+
param[:class_label] = template.get_title(@data[@config[:top_class]], nil)
|
170
173
|
param[:data_global] = @data
|
171
174
|
param[:versions] = versions
|
172
175
|
param[:toplevel] = toplevel
|
@@ -177,11 +180,12 @@ module TTL2HTML
|
|
177
180
|
template.output_to(index_html, param)
|
178
181
|
end
|
179
182
|
end
|
180
|
-
if shapes.size > 0 or versions.size > 0 or toplevel.size > 0
|
183
|
+
if template.find_template_path("about.html") or shapes.size > 0 or versions.size > 0 or toplevel.size > 0
|
181
184
|
about_html = @config[:about_file] || "about.html"
|
182
185
|
about_html = File.join(@config[:output_dir], about_html) if @config[:output_dir]
|
183
186
|
template = Template.new("about.html.erb", @config)
|
184
187
|
param = @config.dup
|
188
|
+
param[:content] = template.to_html_raw("about.html", {}) if template.find_template_path("about.html")
|
185
189
|
param[:data_global] = @data
|
186
190
|
param[:versions] = versions
|
187
191
|
param[:toplevel] = toplevel
|
@@ -204,6 +208,7 @@ module TTL2HTML
|
|
204
208
|
label: label,
|
205
209
|
comment: comment,
|
206
210
|
html: template.expand_shape(@data, subject.to_s, @prefix),
|
211
|
+
target_class: target_class,
|
207
212
|
}
|
208
213
|
end
|
209
214
|
template.output_to(about_html, param)
|
@@ -240,33 +245,37 @@ module TTL2HTML
|
|
240
245
|
results
|
241
246
|
end
|
242
247
|
|
243
|
-
def
|
244
|
-
labels = {}
|
248
|
+
def shapes_parse(shapes)
|
245
249
|
shapes.subjects.each do |shape|
|
246
250
|
target_class = @data[shape.to_s]["http://www.w3.org/ns/shacl#targetClass"]&.first
|
247
251
|
if target_class
|
248
|
-
@data[shape.to_s]["http://www.w3.org/ns/shacl#property"]
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
252
|
+
properties = @data[shape.to_s]["http://www.w3.org/ns/shacl#property"]
|
253
|
+
if properties
|
254
|
+
properties.each do |property|
|
255
|
+
path = @data[property]["http://www.w3.org/ns/shacl#path"].first
|
256
|
+
yield target_class, property
|
257
|
+
end
|
253
258
|
end
|
254
259
|
end
|
255
260
|
end
|
261
|
+
end
|
262
|
+
def shapes2labels(shapes)
|
263
|
+
labels = {}
|
264
|
+
shapes_parse(shapes) do |target_class, property|
|
265
|
+
path = @data[property]["http://www.w3.org/ns/shacl#path"].first
|
266
|
+
name = @data[property]["http://www.w3.org/ns/shacl#name"]
|
267
|
+
labels[target_class] ||= {}
|
268
|
+
labels[target_class][path] = name
|
269
|
+
end
|
256
270
|
labels
|
257
271
|
end
|
258
272
|
def shapes2orders(shapes)
|
259
273
|
orders = {}
|
260
|
-
shapes
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
order = @data[property]["http://www.w3.org/ns/shacl#order"]
|
266
|
-
orders[target_class] ||= {}
|
267
|
-
orders[target_class][path] = order&.first&.to_i
|
268
|
-
end
|
269
|
-
end
|
274
|
+
shapes_parse(shapes) do |target_class, property|
|
275
|
+
path = @data[property]["http://www.w3.org/ns/shacl#path"].first
|
276
|
+
order = @data[property]["http://www.w3.org/ns/shacl#order"]
|
277
|
+
orders[target_class] ||= {}
|
278
|
+
orders[target_class][path] = order&.first&.to_i
|
270
279
|
end
|
271
280
|
orders
|
272
281
|
end
|
@@ -281,10 +290,12 @@ module TTL2HTML
|
|
281
290
|
next if not version
|
282
291
|
next if not version["http://www.w3.org/1999/02/22-rdf-syntax-ns#type"].include? "http://rdfs.org/ns/void#Dataset"
|
283
292
|
description = version["http://purl.org/dc/terms/description"]
|
293
|
+
link = nil
|
284
294
|
if not description
|
285
295
|
qrev = version["http://www.w3.org/ns/prov#qualifiedRevision"]&.first
|
286
|
-
if
|
296
|
+
if @data[qrev]
|
287
297
|
description = @data[qrev]["http://www.w3.org/2000/01/rdf-schema#comment"]
|
298
|
+
link = @data[qrev]["http://www.w3.org/2000/01/rdf-schema#seeAlso"]&.first
|
288
299
|
end
|
289
300
|
end
|
290
301
|
subset = []
|
@@ -304,6 +315,7 @@ module TTL2HTML
|
|
304
315
|
date: date,
|
305
316
|
description: description,
|
306
317
|
subset: subset,
|
318
|
+
link: link,
|
307
319
|
}
|
308
320
|
end
|
309
321
|
end
|
@@ -321,10 +333,29 @@ module TTL2HTML
|
|
321
333
|
license[:icon] = license_data["http://xmlns.com/foaf/0.1/thumbnail"]&.first
|
322
334
|
license[:label] = license_data["http://www.w3.org/2000/01/rdf-schema#label"]
|
323
335
|
end
|
336
|
+
if data["http://purl.org/dc/terms/publisher"]
|
337
|
+
publisher_data = @data[data["http://purl.org/dc/terms/publisher"].first]
|
338
|
+
email = publisher_data["http://xmlns.com/foaf/0.1/mbox"]&.first
|
339
|
+
contact = { email: email }
|
340
|
+
name = publisher_data["http://xmlns.com/foaf/0.1/name"]
|
341
|
+
contact[:name] = name if name
|
342
|
+
members = []
|
343
|
+
if publisher_data["http://xmlns.com/foaf/0.1/member"]
|
344
|
+
publisher_data["http://xmlns.com/foaf/0.1/member"].each do |member|
|
345
|
+
member_data = @data[member]
|
346
|
+
members << {
|
347
|
+
name: member_data["http://xmlns.com/foaf/0.1/name"],
|
348
|
+
org: member_data["http://www.w3.org/2006/vcard/ns#organization-name"]
|
349
|
+
}
|
350
|
+
end
|
351
|
+
contact[:members] = members
|
352
|
+
end
|
353
|
+
end
|
324
354
|
result = {
|
325
355
|
uri: toplevel.to_s,
|
326
356
|
description: data["http://purl.org/dc/terms/description"],
|
327
357
|
license: license,
|
358
|
+
contact: contact,
|
328
359
|
}
|
329
360
|
end
|
330
361
|
result
|
@@ -337,13 +368,21 @@ module TTL2HTML
|
|
337
368
|
Dir.mkdir @config[:output_dir] if not File.exist? @config[:output_dir]
|
338
369
|
file = File.join(@config[:output_dir], file)
|
339
370
|
end
|
340
|
-
|
371
|
+
dir = File.dirname(file)
|
372
|
+
FileUtils.mkdir_p(dir) if not File.exist?(dir)
|
373
|
+
str = format_turtle(uri)
|
341
374
|
str << format_turtle_inverse(uri)
|
342
375
|
open(file, "w") do |io|
|
343
376
|
io.puts str.strip
|
344
377
|
end
|
345
378
|
end
|
346
379
|
end
|
380
|
+
|
381
|
+
def output_files
|
382
|
+
output_html_files
|
383
|
+
output_turtle_files if @config[:output_turtle]
|
384
|
+
end
|
385
|
+
|
347
386
|
def uri_mapping_to_path(uri, suffix = ".html")
|
348
387
|
path = nil
|
349
388
|
if @config[:uri_mappings]
|
@@ -380,10 +419,10 @@ module TTL2HTML
|
|
380
419
|
end.each do |uri, v|
|
381
420
|
html_file = uri_mapping_to_path(uri, ".html")
|
382
421
|
html_file = File.join(@config[:output_dir], html_file) if @config[:output_dir]
|
383
|
-
File.unlink html_file
|
422
|
+
File.unlink html_file if File.exist? html_file
|
384
423
|
ttl_file = uri_mapping_to_path(uri, ".ttl")
|
385
424
|
ttl_file = File.join(@config[:output_dir], ttl_file) if @config[:output_dir]
|
386
|
-
File.unlink ttl_file
|
425
|
+
File.unlink ttl_file if File.exist? ttl_file
|
387
426
|
dir = uri.sub(@config[:base_uri], "")
|
388
427
|
dir = File.join(@config[:output_dir], dir) if @config[:output_dir]
|
389
428
|
Dir.rmdir dir if File.exist? dir
|
data/locales/en.yml
CHANGED
@@ -1,11 +1,16 @@
|
|
1
1
|
en:
|
2
2
|
about:
|
3
3
|
title: "About %{title}"
|
4
|
-
|
4
|
+
shape-heading: "Resources description"
|
5
5
|
shape-note: "The properties for the %{resource} resources are as follows:"
|
6
|
+
shape-target: Target class
|
6
7
|
versions: Versions
|
7
8
|
version-release: "Version %{version} released."
|
8
9
|
version-triples: "%{triples} triples"
|
10
|
+
version-link: "Please refer to <a href=\"%{link}\">here</a> for the revision details."
|
11
|
+
contact: Contact
|
12
|
+
contact-contribution: "This dataset was developed by %{name}"
|
13
|
+
contact-email: "For dataset inquiries, please contact at <a href=\"%{email}\">%{email}</a>"
|
9
14
|
default:
|
10
15
|
details: Details
|
11
16
|
inverse_data: Referred resources
|
data/locales/ja.yml
CHANGED
@@ -1,10 +1,16 @@
|
|
1
1
|
ja:
|
2
2
|
about:
|
3
3
|
title: "%{title}について"
|
4
|
+
shape-heading: "各リソースの説明"
|
4
5
|
shape-note: "%{resource}リソースが持つプロパティを下表に示します"
|
6
|
+
shape-target: 対象クラス
|
5
7
|
versions: 更新履歴
|
6
8
|
version-release: "バージョン%{version}を公開。"
|
7
9
|
version-triples: "%{triples}トリプル"
|
10
|
+
version-link: "更新の詳細については<a href=\"%{link}\">こちら</a>をご覧ください。"
|
11
|
+
contact: 連絡先
|
12
|
+
contact-contribution: "本データセットは %{name} が開発したものです"
|
13
|
+
contact-email: "データセットに関する問い合わせは <a href=\"%{email}\">%{email}</a> までお問い合わせください。"
|
8
14
|
default:
|
9
15
|
details: 詳細情報
|
10
16
|
inverse_data: 被参照情報
|
data/templates/about.html.erb
CHANGED
@@ -17,11 +17,22 @@
|
|
17
17
|
</nav>
|
18
18
|
</div>
|
19
19
|
</div>
|
20
|
-
<%- if param[:
|
20
|
+
<%- if param[:content] -%>
|
21
21
|
<div class="row">
|
22
22
|
<div class="col-md">
|
23
|
+
<%= param[:content] %>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
<%- end -%>
|
27
|
+
<%- if param[:shapes].size > 0 -%>
|
28
|
+
<div class="row">
|
29
|
+
<div class="col-md">
|
30
|
+
<h2 id="shapes"><%=h t("about.shape-heading") %></h2>
|
23
31
|
<%- param[:shapes].keys.sort.each do |shape| -%>
|
24
32
|
<h3><%=h param[:shapes][shape][:label] %></h3>
|
33
|
+
<%- if param[:shapes][shape][:target_class] -%>
|
34
|
+
<ul><li><%= t("about.shape-target") %>: <a href="<%=h param[:shapes][shape][:target_class] %>"><%=h param[:shapes][shape][:target_class] %></a></li></ul>
|
35
|
+
<%- end -%>
|
25
36
|
<p><%= param[:shapes][shape][:comment] %></p>
|
26
37
|
<p><%=h t("about.shape-note", resource: param[:shapes][shape][:label]) %></p>
|
27
38
|
<%= param[:shapes][shape][:html] -%>
|
@@ -29,7 +40,7 @@
|
|
29
40
|
</div>
|
30
41
|
</div>
|
31
42
|
<%- end -%>
|
32
|
-
<%- if param[:versions] -%>
|
43
|
+
<%- if param[:versions].size > 0 -%>
|
33
44
|
<div class="row">
|
34
45
|
<div class="col-md">
|
35
46
|
<h2 id="versions"><%=h t("about.versions") %> <i class="bi bi-info-circle"></i></h2>
|
@@ -41,4 +52,27 @@
|
|
41
52
|
</div>
|
42
53
|
</div>
|
43
54
|
<%- end -%>
|
55
|
+
<%- if param[:toplevel] and param[:toplevel][:contact] -%>
|
56
|
+
<div class="row">
|
57
|
+
<div class="col-md">
|
58
|
+
<h2 id="contact"><%=h t("about.contact") %></h2>
|
59
|
+
<%- if param[:toplevel][:contact][:name] -%>
|
60
|
+
<p><%=h t("about.contact-contribution", name: get_language_literal(param[:toplevel][:contact][:name])) %></p>
|
61
|
+
<%- end -%>
|
62
|
+
<%- if param[:toplevel][:contact][:members] -%>
|
63
|
+
<ul>
|
64
|
+
<%- param[:toplevel][:contact][:members].each do |member| -%>
|
65
|
+
<li><%=h get_language_literal(member[:name]) %>
|
66
|
+
<%- if member[:org] -%>
|
67
|
+
(<%=h get_language_literal(member[:org]) %>)
|
68
|
+
<%- end -%>
|
69
|
+
<%- end -%>
|
70
|
+
</ul>
|
71
|
+
<%- end -%>
|
72
|
+
<%- if param[:toplevel][:contact][:email] -%>
|
73
|
+
<p><%= t("about.contact-email", email: param[:toplevel][:contact][:email]) %></p>
|
74
|
+
<%- end -%>
|
75
|
+
</div>
|
76
|
+
</div>
|
77
|
+
<%- end -%>
|
44
78
|
</div>
|
data/templates/layout.html.erb
CHANGED
@@ -3,34 +3,72 @@
|
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8">
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
6
|
-
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
|
7
6
|
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
|
8
7
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.1/font/bootstrap-icons.css">
|
8
|
+
<%- if param[:css_file] -%>
|
9
|
+
<link rel="stylesheet" href="<%=h relative_path(param[:css_file]) %>">
|
10
|
+
<%- end -%>
|
11
|
+
<%- if param[:custom_css] -%>
|
12
|
+
<style type="text/css"><%=h param[:custom_css] %></style>
|
13
|
+
<%- end -%>
|
9
14
|
<title><%=h html_title(param) %></title>
|
10
15
|
<meta name="twitter:card" content="summary">
|
11
16
|
<meta name="twitter:title" content="<%=h html_title(param) %>">
|
17
|
+
<meta property="og:title" content="<%=h html_title(param) %>">
|
18
|
+
<meta property="og:type" content="website">
|
19
|
+
<%- if param[:uri] -%>
|
20
|
+
<meta property="og:url" content="<%=h param[:uri] %>">
|
21
|
+
<%- end -%>
|
22
|
+
<%- if param[:logo] -%>
|
23
|
+
<meta property="og:image" content="<%=h URI.parse(param[:base_uri]) + param[:logo] %>">
|
24
|
+
<%- end -%>
|
25
|
+
<%- if param[:google_analytics] -%>
|
26
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id=<%=h param[:google_analytics] %>"></script>
|
27
|
+
<script>
|
28
|
+
window.dataLayer = window.dataLayer || [];
|
29
|
+
function gtag(){dataLayer.push(arguments);}
|
30
|
+
gtag('js', new Date());
|
31
|
+
gtag('config', '<%=u param[:google_analytics] %>');
|
32
|
+
</script>
|
33
|
+
<%- end -%>
|
12
34
|
</head>
|
13
35
|
<body>
|
14
|
-
<nav class="navbar navbar-expand-lg navbar-
|
36
|
+
<nav class="navbar navbar-expand-lg navbar-light">
|
37
|
+
<%- if param[:logo] -%>
|
38
|
+
<a class="navbar-brand" href="<%=h relative_path_uri(param[:base_uri], param[:base_uri]) %>"><img src="<%=h relative_path(param[:logo]) %>" height="30"></a>
|
39
|
+
<%- end -%>
|
15
40
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
16
41
|
<span class="navbar-toggler-icon"></span>
|
17
42
|
</button>
|
18
43
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
19
44
|
<ul class="navbar-nav mr-auto">
|
20
|
-
<li class="nav-item<%= '
|
21
|
-
<a class="
|
45
|
+
<li class="nav-item<%= ' active' if @template == "index.html.erb" %>">
|
46
|
+
<a class="nav-link" href="<%=h relative_path_uri(param[:base_uri], param[:base_uri]) %>">Home</a>
|
22
47
|
</li>
|
23
|
-
<li class="nav-item<%= '
|
24
|
-
<a class="
|
48
|
+
<li class="nav-item<%= ' active' if @template == "about.html.erb" %>">
|
49
|
+
<a class="nav-link" href="<%=h relative_path(param[:about_file] || "about.html") %>">About</a>
|
25
50
|
</li>
|
51
|
+
<%- if param[:additional_link] -%>
|
52
|
+
<%- param[:additional_link].each do |link| -%>
|
53
|
+
<li class="nav-item"><a class="nav-link" href="<%=h link["href"] %>"><%=h link["label"] %></a></li>
|
54
|
+
<%- end -%>
|
55
|
+
<%- end -%>
|
26
56
|
</ul>
|
27
57
|
</div>
|
28
58
|
</nav>
|
29
59
|
<%= param[:content] %>
|
30
60
|
<hr>
|
31
61
|
<footer>
|
32
|
-
<%- if param[:
|
33
|
-
|
62
|
+
<%- if param[:turtle_uri] -%>
|
63
|
+
<p class="float-right"><a href="<%=h param[:turtle_uri] %>"><img src="https://www.w3.org/RDF/icons/rdf_flyer.24" alt="<%=h t("layout.rdf-data") %>"></a></p>
|
64
|
+
<%- end -%>
|
65
|
+
<%- if param[:admin_name] -%>
|
66
|
+
<p>
|
67
|
+
<%- if param[:copyright_year] -%>
|
68
|
+
© <%=h param[:copyright_year] %>
|
69
|
+
<%- end -%>
|
70
|
+
<%=h param[:admin_name] %>
|
71
|
+
</p>
|
34
72
|
<%- end -%>
|
35
73
|
</footer>
|
36
74
|
|
data/templates/version.html.erb
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
<dt><%=h param[:data][:date] %></dt>
|
2
2
|
<dd><%=h t("about.version-release", version: param[:data][:version]) %></dd>
|
3
|
-
<dd><%=h get_language_literal(param[:data][:description])
|
3
|
+
<dd><%=h get_language_literal(param[:data][:description]) %>
|
4
|
+
<%- if param[:data][:link] -%>
|
5
|
+
<%= t("about.version-link", link: param[:data][:link]) %>
|
6
|
+
<%- end -%>
|
7
|
+
</dd>
|
4
8
|
<%- if param[:data][:datadump] -%>
|
5
9
|
<dd><ul>
|
6
10
|
<li><a href="<%=h param[:data][:datadump] %>"><%=h File.basename(param[:data][:datadump]) %></a>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ttl2html
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masao Takaku
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -180,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
180
180
|
- !ruby/object:Gem::Version
|
181
181
|
version: '0'
|
182
182
|
requirements: []
|
183
|
-
rubygems_version: 3.
|
183
|
+
rubygems_version: 3.3.3
|
184
184
|
signing_key:
|
185
185
|
specification_version: 4
|
186
186
|
summary: ttl2html
|