docrb-html 0.3.1 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +5 -6
- data/docrb-html.gemspec +2 -2
- data/exe/docrb-html +3 -1
- data/lib/docrb-html.rb +11 -4
- data/lib/renderer/component/reference.rb +1 -1
- data/lib/renderer/helpers.rb +3 -2
- data/lib/renderer/page.rb +8 -1
- data/lib/renderer/version.rb +1 -1
- data/templates/base.erb +4 -7
- data/templates/breadcrumb.erb +3 -3
- data/templates/reference.erb +2 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e8f34e78e39808248f3d91c29b2e751f27ef38d79c81ca48f5c8639accb9195
|
4
|
+
data.tar.gz: 17339acf6ab7f1c867872ac676a6fcb7ae5ce73fd059f9665fde66a3c070ca07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82f1fb93629cc7e64c8972e34ca61b5d60006b3301b6c0b400bf38cb612ec729709d680d843c1efeaf19a9d85a8bf1b9739fd23f7a3457afff025df2530643ff
|
7
|
+
data.tar.gz: ab4c3e0001fec898dcf3955b5443bac4b8eb3142ec5d5f7712eaf5cd887abd6d6a2c722af786672d67f507c26ffde9e439b5e766f93deee1b9b906821ae67443
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
docrb-html (0.3.
|
4
|
+
docrb-html (0.3.3)
|
5
5
|
nokogiri (~> 1.14)
|
6
6
|
redcarpet (~> 3.6)
|
7
7
|
rouge (~> 4.1)
|
@@ -17,11 +17,9 @@ GEM
|
|
17
17
|
ffi (1.15.5)
|
18
18
|
json (2.6.3)
|
19
19
|
language_server-protocol (3.17.0.3)
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
racc (~> 1.4)
|
24
|
-
nokogiri (1.14.2-x86_64-linux)
|
20
|
+
mini_portile2 (2.8.7)
|
21
|
+
nokogiri (1.14.2)
|
22
|
+
mini_portile2 (~> 2.8.0)
|
25
23
|
racc (~> 1.4)
|
26
24
|
parallel (1.23.0)
|
27
25
|
parser (3.2.2.4)
|
@@ -66,6 +64,7 @@ GEM
|
|
66
64
|
unicode-display_width (2.5.0)
|
67
65
|
|
68
66
|
PLATFORMS
|
67
|
+
aarch64-linux
|
69
68
|
arm64-darwin-22
|
70
69
|
arm64-darwin-23
|
71
70
|
x86_64-darwin-22
|
data/docrb-html.gemspec
CHANGED
@@ -5,7 +5,7 @@ require_relative "lib/renderer/version"
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "docrb-html"
|
7
7
|
spec.version = Renderer::VERSION
|
8
|
-
spec.authors = ["
|
8
|
+
spec.authors = ["Vito Sartori"]
|
9
9
|
spec.email = ["hey@vito.io"]
|
10
10
|
|
11
11
|
spec.summary = "Docrb's HTML Generator"
|
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.required_ruby_version = ">= 3.2"
|
16
16
|
|
17
17
|
spec.metadata["homepage_uri"] = spec.homepage
|
18
|
-
spec.metadata["source_code_uri"] = "#{spec.homepage}/tree/
|
18
|
+
spec.metadata["source_code_uri"] = "#{spec.homepage}/tree/master/lib/docrb-html"
|
19
19
|
spec.metadata["changelog_uri"] = spec.homepage
|
20
20
|
spec.metadata["rubygems_mfa_required"] = "true"
|
21
21
|
|
data/exe/docrb-html
CHANGED
data/lib/docrb-html.rb
CHANGED
@@ -29,6 +29,8 @@ require_relative "renderer/metadata"
|
|
29
29
|
require_relative "renderer/entities"
|
30
30
|
|
31
31
|
class Renderer
|
32
|
+
attr_reader :spec
|
33
|
+
|
32
34
|
def now = Time.now.strftime("%A, %-d %b %Y %H:%M:%S %Z")
|
33
35
|
|
34
36
|
def output_path(*args) = File.join(@output, *args.map(&:to_s))
|
@@ -55,6 +57,11 @@ class Renderer
|
|
55
57
|
.map { outline(_1) }
|
56
58
|
end
|
57
59
|
|
60
|
+
def make_path(*args)
|
61
|
+
root = spec.fetch(:base_path, "/")
|
62
|
+
File.join(root, *args.flatten.map(&:to_s))
|
63
|
+
end
|
64
|
+
|
58
65
|
def outline(object, level = 0)
|
59
66
|
{
|
60
67
|
level:,
|
@@ -86,8 +93,8 @@ class Renderer
|
|
86
93
|
Component::TabBar.new(
|
87
94
|
selected_index: 0,
|
88
95
|
items: [
|
89
|
-
{ name: "Readme", href: "/" },
|
90
|
-
{ name: "Components", href: "/components.html" }
|
96
|
+
{ name: "Readme", href: make_path("/") },
|
97
|
+
{ name: "Components", href: make_path("/components.html") }
|
91
98
|
]
|
92
99
|
),
|
93
100
|
readme,
|
@@ -101,8 +108,8 @@ class Renderer
|
|
101
108
|
Component::TabBar.new(
|
102
109
|
selected_index: 1,
|
103
110
|
items: [
|
104
|
-
{ name: "Readme", href: "/" },
|
105
|
-
{ name: "Components", href: "/components.html" }
|
111
|
+
{ name: "Readme", href: make_path("/") },
|
112
|
+
{ name: "Components", href: make_path("/components.html") }
|
106
113
|
]
|
107
114
|
),
|
108
115
|
Component::ComponentList.new(list: make_outline),
|
data/lib/renderer/helpers.rb
CHANGED
@@ -96,13 +96,14 @@ class Renderer
|
|
96
96
|
end
|
97
97
|
end
|
98
98
|
|
99
|
+
def make_path(*) = self.class.current_renderer.make_path(*)
|
100
|
+
|
99
101
|
def path_of(object, root: true)
|
100
102
|
return [] if object.nil? && !root
|
101
103
|
return [object.name] + path_of(object.parent, root: false) unless root
|
102
104
|
|
103
105
|
path = ["#{object.name}.html"] + path_of(object.parent, root: false)
|
104
|
-
path
|
105
|
-
path.reverse.join("/")
|
106
|
+
make_path(*path.reverse)
|
106
107
|
end
|
107
108
|
|
108
109
|
def link_for(object)
|
data/lib/renderer/page.rb
CHANGED
@@ -8,9 +8,16 @@ class Renderer
|
|
8
8
|
@title = "#{title} - Docrb"
|
9
9
|
@body = body || -> { "" }
|
10
10
|
@level = level
|
11
|
+
@make_path = ->(path) { Helpers.current_renderer.make_path(path) }
|
11
12
|
end
|
12
13
|
|
13
|
-
def render
|
14
|
+
def render
|
15
|
+
PAGE_BASE.render(Object.new,
|
16
|
+
make_path: @make_path,
|
17
|
+
title: @title,
|
18
|
+
level: @level,
|
19
|
+
body: @body.call)
|
20
|
+
end
|
14
21
|
|
15
22
|
def render_to(path) = File.write(path, render)
|
16
23
|
end
|
data/lib/renderer/version.rb
CHANGED
data/templates/base.erb
CHANGED
@@ -7,12 +7,9 @@
|
|
7
7
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="true" />
|
9
9
|
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500&family=Inter:wght@300;400;500&display=swap" rel="stylesheet" />
|
10
|
-
|
11
|
-
<
|
12
|
-
|
13
|
-
<link rel="stylesheet" type="text/css" href="style.css" />
|
14
|
-
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
|
15
|
-
<link rel="icon" href="favicon.ico" type="image/x-icon"/>
|
10
|
+
<link rel="stylesheet" type="text/css" href="<%= make_path.call("style.css") %>" />
|
11
|
+
<link rel="shortcut icon" href="<%= make_path.call("favicon.ico") %>" type="image/x-icon"/>
|
12
|
+
<link rel="icon" href="<%= make_path.call("favicon.ico") %>" type="image/x-icon"/>
|
16
13
|
</head>
|
17
14
|
<body>
|
18
15
|
<% if body.is_a? Array %>
|
@@ -20,6 +17,6 @@
|
|
20
17
|
<% else %>
|
21
18
|
<%= body %>
|
22
19
|
<% end %>
|
23
|
-
<script type="text/javascript" src="filtering.js"></script>
|
20
|
+
<script type="text/javascript" src="<%= make_path.call("filtering.js") %>"></script>
|
24
21
|
</body>
|
25
22
|
</html>
|
data/templates/breadcrumb.erb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
<% div("breadcrumb-base", id:) do %>
|
2
2
|
<div class="link">
|
3
|
-
<a href="
|
3
|
+
<a href="<%= make_path %>">
|
4
4
|
<%= svg("home") %>
|
5
5
|
<span class="padded">
|
6
6
|
<%= project_name %>
|
@@ -11,13 +11,13 @@
|
|
11
11
|
<%= svg("breadcrumb_separator") %>
|
12
12
|
<div class="link">
|
13
13
|
<% if i[:parents].empty? && idx == 0 %>
|
14
|
-
<a href="components.html">
|
14
|
+
<a href="<%= make_path("/components.html") %>">
|
15
15
|
<span class="padded">
|
16
16
|
<%= i[:name] %>
|
17
17
|
</span>
|
18
18
|
</a>
|
19
19
|
<% else %>
|
20
|
-
<a href="<%= (i[:parents] + [idx == 0 ? nil : i[:name]]).flatten.compact
|
20
|
+
<a href="<%= make_path((i[:parents] + [idx == 0 ? nil : i[:name]]).flatten.compact) %>.html">
|
21
21
|
<span class="padded">
|
22
22
|
<%= i[:name] %>
|
23
23
|
</span>
|
data/templates/reference.erb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
<% div("reference-base", id:) do %>
|
2
2
|
<% if unresolved %>
|
3
|
-
<span class="broken"><%= value || path.
|
3
|
+
<span class="broken"><%= value || path.join("::") %></span>
|
4
4
|
<% elsif ref_type == :pure %>
|
5
5
|
<a href="<%= link_for(object) %>">
|
6
6
|
<span class="resolved <%= ref_type %>">
|
@@ -8,7 +8,7 @@
|
|
8
8
|
</span>
|
9
9
|
</a>
|
10
10
|
<% else %>
|
11
|
-
<a href="<%= path
|
11
|
+
<a href="<%= make_path(*path) %>.html">
|
12
12
|
<span class="resolved <%= ref_type %>">
|
13
13
|
<span><%= value || path.last %></span>
|
14
14
|
</span>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docrb-html
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Vito Sartori
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-09-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -208,7 +208,7 @@ licenses:
|
|
208
208
|
- MIT
|
209
209
|
metadata:
|
210
210
|
homepage_uri: https://github.com/heyvito/docrb
|
211
|
-
source_code_uri: https://github.com/heyvito/docrb/tree/
|
211
|
+
source_code_uri: https://github.com/heyvito/docrb/tree/master/lib/docrb-html
|
212
212
|
changelog_uri: https://github.com/heyvito/docrb
|
213
213
|
rubygems_mfa_required: 'true'
|
214
214
|
post_install_message:
|
@@ -226,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
226
226
|
- !ruby/object:Gem::Version
|
227
227
|
version: '0'
|
228
228
|
requirements: []
|
229
|
-
rubygems_version: 3.
|
229
|
+
rubygems_version: 3.5.18
|
230
230
|
signing_key:
|
231
231
|
specification_version: 4
|
232
232
|
summary: Docrb's HTML Generator
|