ttl2html 1.3.2 → 1.3.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 536529ac6440329179bab71d30e570dc92efb464526f5a0a019c59823f67098c
4
- data.tar.gz: 4f251ed59bc227e77f80fe3ea88ea1e14e99c10ece1bb7b156d0b19f98518663
3
+ metadata.gz: 64841e5acabefa8d0ff72ab9a5b342d2cb8c6a5f3ecbcce5d70d9c223ae6f694
4
+ data.tar.gz: 4c17bd90212017eccb86e6b96d3d2d1fe87c13841f5a0003a8f19d3e011aa1c0
5
5
  SHA512:
6
- metadata.gz: 7e760bdb6848470e2e2327803e7f527684fa8e703f053cd0fda5eadc374bcaa7aeb837064f018a353f2e7c80b4845994db26106c8b139cdde9bf4e6c501f1254
7
- data.tar.gz: 7cb13bd5ae523ef8ac62c843f27f1ce5f65efd70e035c35f35b6062e104b5c89e87d19c8ac4e7778ca0ce6b9881e1bbca92c5c34cda37793cc96add9679d66ff
6
+ metadata.gz: dd727e999f72c76af779008495bb858eb27bbf05f4e79b8ac9aeee0c61e3b225f8d5710209dcc29538fa7133c0c4da93573e864b2144447840b36ddb22306b36
7
+ data.tar.gz: 24fd2e31ebd3df0eb3ee62c62005356f6c66ab7b43697a7e1d82206314d1c038038bc44f145035f7aae87506878f19e458c265a1ebcb2a6fe9b389e70f40ce66
data/bin/ttl2html CHANGED
@@ -37,6 +37,5 @@ end
37
37
  if opt_cleanup
38
38
  ttl2html.cleanup
39
39
  else
40
- ttl2html.output_html_files
41
- ttl2html.output_turtle_files
40
+ ttl2html.output_files
42
41
  end
@@ -15,7 +15,7 @@ module TTL2HTML
15
15
  def initialize(template, param = {})
16
16
  @template = template
17
17
  @param = param.dup
18
- @template_path = [ Dir.pwd, File.join(Dir.pwd, "templates") ]
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, nil, "-")
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
- src = @param[:output_file]
147
- src = Pathname.new(src).relative_path_from(Pathname.new(@param[:output_dir])) if @param[:output_dir]
148
- path = Pathname(dest).relative_path_from(Pathname(File.dirname src))
149
- path = path.to_s + "/" if File.directory? path
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
- titles << param[:title]
164
- titles << param[:site_title]
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]
@@ -1 +1 @@
1
- TTL2HTML::VERSION = "1.3.2"
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
- YAML.load_file(file).each do |k, v|
27
- config[k.intern] = v
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] = uri_mapping_to_path(uri, ".ttl")
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 shapes2labels(shapes)
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"].each do |property|
249
- path = @data[property]["http://www.w3.org/ns/shacl#path"].first
250
- name = @data[property]["http://www.w3.org/ns/shacl#name"]
251
- labels[target_class] ||= {}
252
- labels[target_class][path] = name
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.subjects.each do |shape|
261
- target_class = @data[shape.to_s]["http://www.w3.org/ns/shacl#targetClass"]&.first
262
- if target_class
263
- @data[shape.to_s]["http://www.w3.org/ns/shacl#property"].each do |property|
264
- path = @data[property]["http://www.w3.org/ns/shacl#path"].first
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 description = @data[qrev]
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
- str = format_turtle(uri)
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
- The properties for the textbook resources are as follows:
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: 被参照情報
@@ -17,11 +17,22 @@
17
17
  </nav>
18
18
  </div>
19
19
  </div>
20
- <%- if param[:shapes] -%>
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>
@@ -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-dark bg-dark">
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<%= ' class="active"' if param[:active] == :home %>">
21
- <a class="navbar-brand" href="/">Home</a>
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<%= ' class="active"' if param[:active] == :about %>">
24
- <a class="navbar-brand" href="/about">About</a>
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[:uri] -%>
33
- <p class="text-right"><a href="<%=h relative_path(param[:turtle_uri]) %>"><img src="https://www.w3.org/RDF/icons/rdf_flyer.24" alt="<%=h t("layout.rdf-data") %>"></a></p>
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
+ &copy; <%=h param[:copyright_year] %>
69
+ <%- end -%>
70
+ <%=h param[:admin_name] %>
71
+ </p>
34
72
  <%- end -%>
35
73
  </footer>
36
74
 
@@ -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]) %></dd>
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.2
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: 2021-12-14 00:00:00.000000000 Z
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.2.32
183
+ rubygems_version: 3.3.3
184
184
  signing_key:
185
185
  specification_version: 4
186
186
  summary: ttl2html