docrb-html 0.3.1 → 0.3.3
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/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
|