ttl2html 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 858625044e6a0e9ff78bacc944b6aebb8dc4fb95f07cda76d3eab790d0602163
4
- data.tar.gz: 0d514bacd1ddd635dfa36ca7aca8e74b2a5ff78e15b16e21a2124eaa04660e40
3
+ metadata.gz: 71b5a2abdcc42e13003a2ceca9c3c29ed0ff866c472a058354a469868a244269
4
+ data.tar.gz: de4d3bd146d80800f7f4358a0f843479e5f8583436d4af550ddef4643af60c06
5
5
  SHA512:
6
- metadata.gz: 9958babbf93cd931926e4f56cc348fe16130f908a324d1978cd2d2f35c9ebca2646c4b86fa9ef97365377cb4ca23e7365f460e024207a3ccef8439fb545cde92
7
- data.tar.gz: ceb241313491e6b67c633aa235c9bc74c5e2bf76fc6b4bc1479c9874e9aed07995f0655da48e2e29e36a4a22dc5efa14476e4394fce5b7465a3a3ef759f9990b
6
+ metadata.gz: 54d9bfb81e8fce12a3b0158e888a67bd6b718f7ab1efa35d09fc18ba8d7c596c226a08017894823d1baf6f637f3080e7211f44c85f4ff5a37546fde3b25b5838
7
+ data.tar.gz: fc40d4fc10a284b152802eef7069d786ea307d4a6713ffff1fd30dee7d46c1605f8b328e5d598f3913b0345d8e20f038cae623497453f2e5e0b6e0adedb4aeb5
@@ -128,8 +128,13 @@ module TTL2HTML
128
128
  src = @param[:output_file]
129
129
  src = Pathname.new(src).relative_path_from(Pathname.new(@param[:output_dir])) if @param[:output_dir]
130
130
  path = Pathname(dest).relative_path_from(Pathname(File.dirname src))
131
- path = path.to_s + "/" if File.directory? path
131
+ if @param[:output_dir] and File.directory?(Pathname.new(@param[:output_dir]) + path)
132
+ path = path.to_s + "/"
133
+ elsif File.directory?(path)
134
+ path = path.to_s + "/"
135
+ end
132
136
  end
137
+ #p [ :relative_path, path, dest, src ]
133
138
  path
134
139
  end
135
140
  def relative_path_uri(dest_uri, base_uri = @param[:base_uri])
@@ -1 +1 @@
1
- TTL2HTML::VERSION = "2.0.1"
1
+ TTL2HTML::VERSION = "2.0.2"
data/lib/ttl2html.rb CHANGED
@@ -30,6 +30,11 @@ module TTL2HTML
30
30
  config[k.intern] = v
31
31
  end
32
32
  end
33
+ [ :css_file, :javascript_file ].each do |k|
34
+ if config[k]
35
+ config[k] = [ config[k] ].flatten
36
+ end
37
+ end
33
38
  config
34
39
  end
35
40
 
@@ -112,10 +117,12 @@ module TTL2HTML
112
117
  progressbar = ProgressBar.create(title: label,
113
118
  total: @data.size,
114
119
  format: "(%t) %a %e %P% Processed: %c from %C")
115
- @data.each do |uri, v|
120
+ @data.keys.sort_by do|uri|
121
+ [ uri.count("/"), uri.size, uri ]
122
+ end.reverse_each do |uri|
116
123
  progressbar.increment
117
124
  next if not uri.start_with? @config[:base_uri]
118
- yield uri, v
125
+ yield uri, @data[uri]
119
126
  end
120
127
  progressbar.finish
121
128
  end
data/locales/en.yml CHANGED
@@ -12,6 +12,7 @@ en:
12
12
  contact: Contact
13
13
  contact-contribution: "This dataset was developed by %{name}"
14
14
  contact-email: "For dataset inquiries, please contact at <a href=\"%{email}\">%{email}</a>"
15
+ toc: Table of Contents
15
16
  default:
16
17
  details: Details
17
18
  inverse_data: Referred resources
data/locales/ja.yml CHANGED
@@ -12,6 +12,7 @@ ja:
12
12
  contact: 連絡先
13
13
  contact-contribution: "本データセットは %{name} が開発したものです"
14
14
  contact-email: "データセットに関する問い合わせは <a href=\"%{email}\">%{email}</a> までお問い合わせください。"
15
+ toc: 目次
15
16
  default:
16
17
  details: 詳細情報
17
18
  inverse_data: 被参照情報
@@ -17,19 +17,21 @@
17
17
  </nav>
18
18
  </div>
19
19
  </div>
20
- <%- if param[:content] -%>
21
20
  <div class="row">
22
- <div class="col-md">
23
- <%= param[:content] %>
21
+ <%- if @template == "about.html.erb" and param[:about_toc] -%>
22
+ <div class="col-md-2 order-12">
23
+ <h2 data-toc-skip><%=h t('about.toc') %></h2>
24
+ <nav id="toc" data-toggle="toc" class="sticky-top"></nav>
24
25
  </div>
25
- </div>
26
- <%- end -%>
27
- <%- if param[:shapes].size > 0 -%>
28
- <div class="row">
26
+ <%- end -%>
29
27
  <div class="col-md">
28
+ <%- if param[:content] -%>
29
+ <%= param[:content] %>
30
+ <%- end -%>
31
+ <%- if param[:shapes].size > 0 -%>
30
32
  <h2 id="shapes"><%=h t("about.shape-heading") %></h2>
31
33
  <%- param[:shapes].keys.sort_by{|k| param[:shapes][k][:order] }.each do |shape| -%>
32
- <h3><%=h param[:shapes][shape][:label] %></h3>
34
+ <h3 id="<%=h relative_path_uri(shape) %>"><%=h param[:shapes][shape][:label] %></h3>
33
35
  <%- if param[:shapes][shape][:target_class] -%>
34
36
  <ul><li><%= t("about.shape-target") %>: <a href="<%=h param[:shapes][shape][:target_class] %>"><%=h param[:shapes][shape][:target_class] %></a></li></ul>
35
37
  <%- end -%>
@@ -37,24 +39,16 @@
37
39
  <p><%=h t("about.shape-note", resource: param[:shapes][shape][:label]) %></p>
38
40
  <%= param[:shapes][shape][:html] -%>
39
41
  <%- end -%>
40
- </div>
41
- </div>
42
- <%- end -%>
43
- <%- if param[:versions].size > 0 -%>
44
- <div class="row">
45
- <div class="col-md">
42
+ <%- end -%>
43
+ <%- if param[:versions].size > 0 -%>
46
44
  <h2 id="versions"><%=h t("about.versions") %> <i class="bi bi-info-circle"></i></h2>
47
45
  <dl>
48
46
  <%- param[:versions].reverse_each do |version| -%>
49
47
  <%= format_version_info(version) %>
50
48
  <%- end -%>
51
49
  </dl>
52
- </div>
53
- </div>
54
- <%- end -%>
55
- <%- if param[:toplevel] and param[:toplevel][:contact] -%>
56
- <div class="row">
57
- <div class="col-md">
50
+ <%- end -%>
51
+ <%- if param[:toplevel] and param[:toplevel][:contact] -%>
58
52
  <h2 id="contact"><%=h t("about.contact") %></h2>
59
53
  <%- if param[:toplevel][:contact][:name] -%>
60
54
  <p><%=h t("about.contact-contribution", name: get_language_literal(param[:toplevel][:contact][:name])) %></p>
@@ -72,7 +66,7 @@
72
66
  <%- if param[:toplevel][:contact][:email] -%>
73
67
  <p><%= t("about.contact-email", email: param[:toplevel][:contact][:email]) %></p>
74
68
  <%- end -%>
69
+ <%- end -%>
75
70
  </div>
76
71
  </div>
77
- <%- end -%>
78
- </div>
72
+ </div>
@@ -5,9 +5,12 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
6
6
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
7
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]) %>">
8
+ <%- if @template == "about.html.erb" and param[:about_toc] -%>
9
+ <link rel="stylesheet" href="https://cdn.rawgit.com/afeld/bootstrap-toc/v1.0.1/dist/bootstrap-toc.min.css">
10
10
  <%- end -%>
11
+ <%- param[:css_file].each do |file| -%>
12
+ <link rel="stylesheet" href="<%=h relative_path(file) %>">
13
+ <%- end if param[:css_file] -%>
11
14
  <%- if param[:custom_css] -%>
12
15
  <style type="text/css"><%=h param[:custom_css] %></style>
13
16
  <%- end -%>
@@ -32,7 +35,7 @@
32
35
  </script>
33
36
  <%- end -%>
34
37
  </head>
35
- <body>
38
+ <body<%= ' data-spy="scroll" data-target="#toc"' if @template == "about.html.erb" and param[:about_toc] %>>
36
39
  <nav class="navbar navbar-expand-lg <%=h param[:navbar_class] || "navbar-light" %>">
37
40
  <%- if param[:logo] -%>
38
41
  <a class="navbar-brand" href="<%=h relative_path_uri(param[:base_uri]) %>">
@@ -78,8 +81,11 @@
78
81
  <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
79
82
  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
80
83
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
81
- <%- if param[:javascript_file] -%>
82
- <script src="<%=h relative_path(param[:javascript_file]) %>"></script>
84
+ <%- if @template == "about.html.erb" and param[:about_toc] -%>
85
+ <script src="https://cdn.rawgit.com/afeld/bootstrap-toc/v1.0.1/dist/bootstrap-toc.min.js"></script>
83
86
  <%- end -%>
87
+ <%- param[:javascript_file].each do |file| -%>
88
+ <script src="<%=h relative_path(file) %>"></script>
89
+ <%- end if param[:javascript_file] -%>
84
90
  </body>
85
91
  </html>
@@ -1,4 +1,4 @@
1
- <dl class="row">
1
+ <dl class="row<%= if param[:type][:blank] then ' border' end %>">
2
2
  <%- param[:data].sort_by{|k, v|
3
3
  order = param[:orders][k] if param[:orders] and param[:orders][k]
4
4
  order = Float::INFINITY if order.nil?
@@ -10,7 +10,13 @@
10
10
  <dd class="col-sm-9<%= ' offset-sm-3' if idx > 0 %>" lang="<%=h v2[0] %>"><%= format_object v2[1], param[:data], param[:type] %></dd>
11
11
  <%- end -%>
12
12
  <%- elsif v.size > 1 -%>
13
- <%- v.each_with_index do |v2, idx| -%>
13
+ <%- v.sort_by{|e|
14
+ if e =~ /\A_:/ and param[:data_global][e]
15
+ param[:data_global][e].to_s
16
+ else
17
+ e
18
+ end
19
+ }.each_with_index do |v2, idx| -%>
14
20
  <dd class="col-sm-9<%= ' offset-sm-3' if idx > 0 %>"><%= format_object v2, param[:data], param[:type] %></dd>
15
21
  <%- end -%>
16
22
  <%- else -%>
@@ -1,6 +1,6 @@
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><%= get_language_literal(param[:data][:description]) %>
4
4
  <%- if param[:data][:link] -%>
5
5
  <%= t("about.version-link", link: param[:data][:link]) %>
6
6
  <%- end -%>
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: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masao Takaku
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-27 00:00:00.000000000 Z
11
+ date: 2022-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri