docrb-html 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.editorconfig +21 -0
- data/.gitignore +2 -0
- data/.rubocop.yml +52 -0
- data/Gemfile +7 -0
- data/Gemfile.lock +37 -0
- data/assets/breadcrumb.scss +25 -0
- data/assets/checkbox.scss +34 -0
- data/assets/class_header.scss +75 -0
- data/assets/class_mod_name.scss +8 -0
- data/assets/component_list.scss +4 -0
- data/assets/container.scss +9 -0
- data/assets/doc_box.scss +79 -0
- data/assets/documentation_block.scss +5 -0
- data/assets/favicon.ico +0 -0
- data/assets/fonts.scss +105 -0
- data/assets/footer.scss +15 -0
- data/assets/images/balance.svg +9 -0
- data/assets/images/breadcrumb_separator.svg +1 -0
- data/assets/images/checkbox-off.svg +1 -0
- data/assets/images/checkbox-on.svg +1 -0
- data/assets/images/chevron.svg +1 -0
- data/assets/images/docrb-label.svg +20 -0
- data/assets/images/github.svg +11 -0
- data/assets/images/home.svg +1 -0
- data/assets/images/inherited.svg +1 -0
- data/assets/images/override.svg +1 -0
- data/assets/images/questionmark.svg +1 -0
- data/assets/images/rubygems.svg +9 -0
- data/assets/images/user.svg +12 -0
- data/assets/js/filtering.js +66 -0
- data/assets/links.scss +16 -0
- data/assets/markdown.scss +41 -0
- data/assets/method_argument.scss +75 -0
- data/assets/method_display.scss +27 -0
- data/assets/method_list.scss +51 -0
- data/assets/project_header.scss +55 -0
- data/assets/reference.scss +36 -0
- data/assets/shared.scss +23 -0
- data/assets/style.scss +43 -0
- data/assets/symbol.scss +5 -0
- data/assets/tab_bar.scss +22 -0
- data/assets/text_block.scss +23 -0
- data/assets/type_definition.scss +3 -0
- data/assets/typedef.scss +6 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/exe/docrb-html +12 -0
- data/lib/renderer/component/breadcrumb.rb +14 -0
- data/lib/renderer/component/checkbox.rb +9 -0
- data/lib/renderer/component/class_header.rb +14 -0
- data/lib/renderer/component/class_mod_name.rb +9 -0
- data/lib/renderer/component/component_list.rb +15 -0
- data/lib/renderer/component/doc_box.rb +38 -0
- data/lib/renderer/component/documentation_block.rb +9 -0
- data/lib/renderer/component/footer.rb +9 -0
- data/lib/renderer/component/markdown.rb +9 -0
- data/lib/renderer/component/method_argument.rb +106 -0
- data/lib/renderer/component/method_display.rb +9 -0
- data/lib/renderer/component/method_list.rb +9 -0
- data/lib/renderer/component/project_header.rb +9 -0
- data/lib/renderer/component/reference.rb +24 -0
- data/lib/renderer/component/symbol.rb +9 -0
- data/lib/renderer/component/tab_bar.rb +9 -0
- data/lib/renderer/component/text_block.rb +15 -0
- data/lib/renderer/component/type_definition.rb +9 -0
- data/lib/renderer/component/typedef.rb +9 -0
- data/lib/renderer/component.rb +50 -0
- data/lib/renderer/core_extensions.rb +11 -0
- data/lib/renderer/defs/specialized_object.rb +172 -0
- data/lib/renderer/defs/specialized_projection.rb +31 -0
- data/lib/renderer/defs.rb +180 -0
- data/lib/renderer/helpers.rb +82 -0
- data/lib/renderer/metadata.rb +44 -0
- data/lib/renderer/page.rb +17 -0
- data/lib/renderer/template.rb +38 -0
- data/lib/renderer/version.rb +5 -0
- data/lib/renderer.rb +129 -0
- data/renderer.gemspec +31 -0
- data/script/makecomponent +23 -0
- data/script/reload.js +14 -0
- data/script/serve +2 -0
- data/script/watch +17 -0
- data/templates/base.erb +25 -0
- data/templates/breadcrumb.erb +28 -0
- data/templates/checkbox.erb +8 -0
- data/templates/class_header.erb +53 -0
- data/templates/class_mod_name.erb +3 -0
- data/templates/component_list.erb +21 -0
- data/templates/doc_box.erb +82 -0
- data/templates/documentation_block.erb +18 -0
- data/templates/footer.erb +9 -0
- data/templates/markdown.erb +3 -0
- data/templates/method_argument.erb +29 -0
- data/templates/method_display.erb +28 -0
- data/templates/method_list.erb +25 -0
- data/templates/project_header.erb +38 -0
- data/templates/reference.erb +14 -0
- data/templates/symbol.erb +3 -0
- data/templates/tab_bar.erb +7 -0
- data/templates/text_block.erb +16 -0
- data/templates/type_definition.erb +4 -0
- data/templates/typedef.erb +3 -0
- metadata +178 -0
@@ -0,0 +1,29 @@
|
|
1
|
+
<% div("method-argument-base", id:) do %>
|
2
|
+
<% if computed[:rest] %>
|
3
|
+
<span class="rest-arg <%= computed[:rest] %>"></span>
|
4
|
+
<% end %>
|
5
|
+
|
6
|
+
<%= computed[:name] %>
|
7
|
+
|
8
|
+
<% if computed[:continuation] %>
|
9
|
+
<span class="continuation <%= computed[:continuation] %>"></span>
|
10
|
+
<% end %>
|
11
|
+
|
12
|
+
<% if computed.dig(:value, :kind) == :method_call_argument %>
|
13
|
+
<% elsif computed.dig(:value, :kind) == :const
|
14
|
+
last = computed.dig(:value, :value).pop
|
15
|
+
%>
|
16
|
+
<% computed.dig(:value, :value).each do |val| %>
|
17
|
+
<% if val[:kind] == :continuation %>
|
18
|
+
<span class="continuation colon double"></span>
|
19
|
+
<% elsif val[:kind] == :class_or_module %>
|
20
|
+
<span class="class_or_module">
|
21
|
+
<%= val[:value] %>
|
22
|
+
</span>
|
23
|
+
<% end %>
|
24
|
+
<% end %>
|
25
|
+
<span class="simple-argument plain"><%= last[:value] %></span>
|
26
|
+
<% elsif computed.dig(:value, :kind) %>
|
27
|
+
<span class="simple-argument <%= computed[:value][:kind] %>"><%= computed[:value][:value] %></span>
|
28
|
+
<% end %>
|
29
|
+
<% end %>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<% div("method-display-base", id:) do %>
|
2
|
+
<%= decoration && !decoration.empty? && svg(decoration, class_name: "decoration", title: decoration == "inherited" ? "Inherited" : "Override") || "" %>
|
3
|
+
<%= type && typedef(name: type) %>
|
4
|
+
<% base = capture do %>
|
5
|
+
<div class="container">
|
6
|
+
<div class="method-name"><%= name %></div>
|
7
|
+
<% if args %>
|
8
|
+
<div class="argument-container<%= args.empty? ? "" : " not-empty" %>">
|
9
|
+
<% args.map do |i| %>
|
10
|
+
<%= method_argument(**i) %>
|
11
|
+
<% end %>
|
12
|
+
</div>
|
13
|
+
<% end %>
|
14
|
+
</div>
|
15
|
+
<% end %>
|
16
|
+
<% if href && !href.empty? %>
|
17
|
+
<a class="dashed" href="<%= href %>">
|
18
|
+
<%= base %>
|
19
|
+
</a>
|
20
|
+
<% else %>
|
21
|
+
<%= base %>
|
22
|
+
<% end %>
|
23
|
+
<% if visibility&.downcase != 'public' %>
|
24
|
+
<div class="label"><%= visibility %></div>
|
25
|
+
<% elsif ![nil, 'public'].include? doc&.dig(:doc_visibility_annotation) %>
|
26
|
+
<div class="label"><%= doc.dig(:doc_visibility_annotation) %></div>
|
27
|
+
<% end %>
|
28
|
+
<% end %>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<% div("method-list-base", id:) do %>
|
2
|
+
<% list && list.length > 0 && list.each do |i| %>
|
3
|
+
<div class="method-definition"
|
4
|
+
id="<%= i[:type] %>-<%= i[:name] %>"
|
5
|
+
data-visibility="<%= i.dig(:doc, :doc_visibility_annotation) || '' %>"
|
6
|
+
data-origin="<%= i.dig(:origin) %>">
|
7
|
+
<div class="method-block">
|
8
|
+
<%= method_display(**i.merge(type: nil).slice(*Renderer::Component::MethodDisplay.instance_variable_get(:@props))) %>
|
9
|
+
</div>
|
10
|
+
<div class="doc-block">
|
11
|
+
<%= documentation_block(doc: i[:doc]) %>
|
12
|
+
</div>
|
13
|
+
<details class="source-block">
|
14
|
+
<summary>
|
15
|
+
<span class="expanded">Hide Source</span>
|
16
|
+
<span class="collapsed">Show Source</span>
|
17
|
+
</summary>
|
18
|
+
<%= markdown(source: i[:defined_by][:markdown_source]) %>
|
19
|
+
<div class="from">
|
20
|
+
Defined in <a href="<%= git_url(i[:defined_by]) %>" class="dotted"><%= clean_file_path(i[:defined_by]) %>, <%= line_range(i[:defined_by]) %></a>
|
21
|
+
</div>
|
22
|
+
</details>
|
23
|
+
</div>
|
24
|
+
<% end %>
|
25
|
+
<% end %>
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<% div("project-header-base", id:) do %>
|
2
|
+
<div class="project">
|
3
|
+
<h1><%= name %></h1>
|
4
|
+
<h3><%= description %></h3>
|
5
|
+
</div>
|
6
|
+
<div class="right">
|
7
|
+
<div class="label">
|
8
|
+
<a href="https://github.com/heyvito/docrb" rel="noreferrer" target="_blank">
|
9
|
+
<%= svg('docrb-label') %>
|
10
|
+
</a>
|
11
|
+
</div>
|
12
|
+
<div class="link-panel">
|
13
|
+
<% if owner %>
|
14
|
+
<div class="link-row">
|
15
|
+
<span><%= owner %></span>
|
16
|
+
<%= svg('user') %>
|
17
|
+
</div>
|
18
|
+
<% end %>
|
19
|
+
<% if license %>
|
20
|
+
<div class="link-row">
|
21
|
+
<span><%= license %></span>
|
22
|
+
<%= svg('balance') %>
|
23
|
+
</div>
|
24
|
+
<% end %>
|
25
|
+
<% links.each do |link| %>
|
26
|
+
<div class="link-row">
|
27
|
+
<span><a href="<%= link[:href] %>"
|
28
|
+
class="dashed"
|
29
|
+
rel="noreferrer"
|
30
|
+
target="_blank">
|
31
|
+
<%= link[:href].gsub(/^https?:\/\//, '') %>
|
32
|
+
</a></span>
|
33
|
+
<%= svg(link[:kind]) %>
|
34
|
+
</div>
|
35
|
+
<% end %>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
<% end %>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<% div("reference-base", id:) do %>
|
2
|
+
<% if unresolved %>
|
3
|
+
<span class="unresolved" title="Docrb could not resolve this reference. It may be from an external library or dynamically-generated method.">
|
4
|
+
<%= svg('questionmark') %>
|
5
|
+
<span><%= ref[:contents] %></span>
|
6
|
+
</span>
|
7
|
+
<% else %>
|
8
|
+
<a href="<%= path.join('/') %>">
|
9
|
+
<span class="resolved <%= ref[:ref_type] %>">
|
10
|
+
<span><%= ref[:contents] %></span>
|
11
|
+
</span>
|
12
|
+
</a>
|
13
|
+
<% end %>
|
14
|
+
<% end %>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<% div("text-block-base", id:) do %>
|
2
|
+
<% list.each do |i| %>
|
3
|
+
<% if i[:type] == 'span' %>
|
4
|
+
<div class="html inline"><%= i[:contents] %></div>
|
5
|
+
<% elsif i[:type] == 'ref' %>
|
6
|
+
<%= reference(ref: i) %>
|
7
|
+
<% elsif i[:type] == 'html' %>
|
8
|
+
<div class="html"><%= i[:contents] %></div>
|
9
|
+
<% elsif i[:type] == 'sym_ref' %>
|
10
|
+
<%= symbol(name: i[:contents]) %>
|
11
|
+
<% else %>
|
12
|
+
Unknown textblock item <%= i[:kind] %><br/>
|
13
|
+
<%= i.to_json %>
|
14
|
+
<% end %>
|
15
|
+
<% end %>
|
16
|
+
<% end %>
|
metadata
ADDED
@@ -0,0 +1,178 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: docrb-html
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Victor Gama
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-02-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: nokogiri
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.14'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.14'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: sassc
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.4'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.4'
|
41
|
+
description: Docrb's HTML Generator
|
42
|
+
email:
|
43
|
+
- hey@vito.io
|
44
|
+
executables:
|
45
|
+
- docrb-html
|
46
|
+
extensions: []
|
47
|
+
extra_rdoc_files: []
|
48
|
+
files:
|
49
|
+
- ".editorconfig"
|
50
|
+
- ".gitignore"
|
51
|
+
- ".rubocop.yml"
|
52
|
+
- Gemfile
|
53
|
+
- Gemfile.lock
|
54
|
+
- assets/breadcrumb.scss
|
55
|
+
- assets/checkbox.scss
|
56
|
+
- assets/class_header.scss
|
57
|
+
- assets/class_mod_name.scss
|
58
|
+
- assets/component_list.scss
|
59
|
+
- assets/container.scss
|
60
|
+
- assets/doc_box.scss
|
61
|
+
- assets/documentation_block.scss
|
62
|
+
- assets/favicon.ico
|
63
|
+
- assets/fonts.scss
|
64
|
+
- assets/footer.scss
|
65
|
+
- assets/images/balance.svg
|
66
|
+
- assets/images/breadcrumb_separator.svg
|
67
|
+
- assets/images/checkbox-off.svg
|
68
|
+
- assets/images/checkbox-on.svg
|
69
|
+
- assets/images/chevron.svg
|
70
|
+
- assets/images/docrb-label.svg
|
71
|
+
- assets/images/github.svg
|
72
|
+
- assets/images/home.svg
|
73
|
+
- assets/images/inherited.svg
|
74
|
+
- assets/images/override.svg
|
75
|
+
- assets/images/questionmark.svg
|
76
|
+
- assets/images/rubygems.svg
|
77
|
+
- assets/images/user.svg
|
78
|
+
- assets/js/filtering.js
|
79
|
+
- assets/links.scss
|
80
|
+
- assets/markdown.scss
|
81
|
+
- assets/method_argument.scss
|
82
|
+
- assets/method_display.scss
|
83
|
+
- assets/method_list.scss
|
84
|
+
- assets/project_header.scss
|
85
|
+
- assets/reference.scss
|
86
|
+
- assets/shared.scss
|
87
|
+
- assets/style.scss
|
88
|
+
- assets/symbol.scss
|
89
|
+
- assets/tab_bar.scss
|
90
|
+
- assets/text_block.scss
|
91
|
+
- assets/type_definition.scss
|
92
|
+
- assets/typedef.scss
|
93
|
+
- bin/console
|
94
|
+
- bin/setup
|
95
|
+
- exe/docrb-html
|
96
|
+
- lib/renderer.rb
|
97
|
+
- lib/renderer/component.rb
|
98
|
+
- lib/renderer/component/breadcrumb.rb
|
99
|
+
- lib/renderer/component/checkbox.rb
|
100
|
+
- lib/renderer/component/class_header.rb
|
101
|
+
- lib/renderer/component/class_mod_name.rb
|
102
|
+
- lib/renderer/component/component_list.rb
|
103
|
+
- lib/renderer/component/doc_box.rb
|
104
|
+
- lib/renderer/component/documentation_block.rb
|
105
|
+
- lib/renderer/component/footer.rb
|
106
|
+
- lib/renderer/component/markdown.rb
|
107
|
+
- lib/renderer/component/method_argument.rb
|
108
|
+
- lib/renderer/component/method_display.rb
|
109
|
+
- lib/renderer/component/method_list.rb
|
110
|
+
- lib/renderer/component/project_header.rb
|
111
|
+
- lib/renderer/component/reference.rb
|
112
|
+
- lib/renderer/component/symbol.rb
|
113
|
+
- lib/renderer/component/tab_bar.rb
|
114
|
+
- lib/renderer/component/text_block.rb
|
115
|
+
- lib/renderer/component/type_definition.rb
|
116
|
+
- lib/renderer/component/typedef.rb
|
117
|
+
- lib/renderer/core_extensions.rb
|
118
|
+
- lib/renderer/defs.rb
|
119
|
+
- lib/renderer/defs/specialized_object.rb
|
120
|
+
- lib/renderer/defs/specialized_projection.rb
|
121
|
+
- lib/renderer/helpers.rb
|
122
|
+
- lib/renderer/metadata.rb
|
123
|
+
- lib/renderer/page.rb
|
124
|
+
- lib/renderer/template.rb
|
125
|
+
- lib/renderer/version.rb
|
126
|
+
- renderer.gemspec
|
127
|
+
- script/makecomponent
|
128
|
+
- script/reload.js
|
129
|
+
- script/serve
|
130
|
+
- script/watch
|
131
|
+
- templates/base.erb
|
132
|
+
- templates/breadcrumb.erb
|
133
|
+
- templates/checkbox.erb
|
134
|
+
- templates/class_header.erb
|
135
|
+
- templates/class_mod_name.erb
|
136
|
+
- templates/component_list.erb
|
137
|
+
- templates/doc_box.erb
|
138
|
+
- templates/documentation_block.erb
|
139
|
+
- templates/footer.erb
|
140
|
+
- templates/markdown.erb
|
141
|
+
- templates/method_argument.erb
|
142
|
+
- templates/method_display.erb
|
143
|
+
- templates/method_list.erb
|
144
|
+
- templates/project_header.erb
|
145
|
+
- templates/reference.erb
|
146
|
+
- templates/symbol.erb
|
147
|
+
- templates/tab_bar.erb
|
148
|
+
- templates/text_block.erb
|
149
|
+
- templates/type_definition.erb
|
150
|
+
- templates/typedef.erb
|
151
|
+
homepage: https://github.com/heyvito/docrb
|
152
|
+
licenses:
|
153
|
+
- MIT
|
154
|
+
metadata:
|
155
|
+
homepage_uri: https://github.com/heyvito/docrb
|
156
|
+
source_code_uri: https://github.com/heyvito/docrb/tree/trunk/lib/docrb-html
|
157
|
+
changelog_uri: https://github.com/heyvito/docrb
|
158
|
+
rubygems_mfa_required: 'true'
|
159
|
+
post_install_message:
|
160
|
+
rdoc_options: []
|
161
|
+
require_paths:
|
162
|
+
- lib
|
163
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - ">="
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: '3.2'
|
168
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - ">="
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
173
|
+
requirements: []
|
174
|
+
rubygems_version: 3.4.2
|
175
|
+
signing_key:
|
176
|
+
specification_version: 4
|
177
|
+
summary: Docrb's HTML Generator
|
178
|
+
test_files: []
|