docrb-html 0.3.0 → 0.3.1

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: 46ab65a6bab83355b8532920f7dfa26d9f9e05d99fbe6cdbe1677a9b75695861
4
- data.tar.gz: e69e29e51b3e4bc491e058259be007910032607cce30e0e7223a4a1adad23c01
3
+ metadata.gz: 5e032e7d421f2811ed73880d0e9b224ebf11b9027446baee4fbf58f8fe28efb5
4
+ data.tar.gz: 9ea3088213e3e09e31c12a81041ad3cab9f48d16b859a36597603d159bc8423d
5
5
  SHA512:
6
- metadata.gz: 935815ac11006ab359e5c489f57266d8de17691bc9035a45cd7564e8b3142e927313cef65e41401e1e713422ad77d3c3f7653c9cf0d9167eb8f3cb77c285ff05
7
- data.tar.gz: 9e57cd852acb2f6bc459206e81088088bd85be92600a973e911c6cddb0e266c384e08b978cb53c7e0b364778358ec515cf21c7d86ede85b91a501c38b5e11103
6
+ metadata.gz: 6e4c417666d05eb251dfee6ffc8b1243f1db13e73d34b48e9c7a1645fedb6fbad9eec4679387d18e76f25e78fb0253ac9c44c6f3ff753ed78673884e7d26ab75
7
+ data.tar.gz: 6b4e542016f1c14f2f40a6adabddecc97afbde132021c1ac5f830a1b785255b79eb27078570296f287e39a9ef2f348e75612446b360c3a530b47f077748bfad2
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- docrb-html (0.3.0)
4
+ docrb-html (0.3.1)
5
5
  nokogiri (~> 1.14)
6
6
  redcarpet (~> 3.6)
7
7
  rouge (~> 4.1)
@@ -0,0 +1,30 @@
1
+ .html div.class-path-reference-base {
2
+ @include mono;
3
+ display: flex;
4
+ flex-wrap: wrap;
5
+
6
+ span {
7
+ white-space: unset;
8
+
9
+ a {
10
+ @include mono;
11
+ }
12
+
13
+ &.segment {
14
+ &:not(:last-child) {
15
+ ::after {
16
+ content: '::'
17
+ }
18
+ }
19
+
20
+
21
+ &.class a {
22
+ color: #FFAB42;
23
+ }
24
+
25
+ &.module a {
26
+ color: #579AD1;
27
+ }
28
+ }
29
+ }
30
+ }
data/assets/markdown.scss CHANGED
@@ -38,4 +38,8 @@ div.markdown-base {
38
38
  code, pre {
39
39
  @include mono($size: 15);
40
40
  }
41
+
42
+ .faded {
43
+ @include faded;
44
+ }
41
45
  }
@@ -11,6 +11,11 @@ div.reference-base {
11
11
  &.module { color: #579AD1; border-color: #579AD1; }
12
12
  }
13
13
 
14
+ .broken {
15
+ @include mono;
16
+ cursor: initial;
17
+ }
18
+
14
19
  .unresolved {
15
20
  border: 1px dotted #D8D8D8;
16
21
  border-radius: 10px 3px 3px 10px;
data/assets/style.scss CHANGED
@@ -44,3 +44,4 @@ body {
44
44
  @import './constant_display';
45
45
  @import './field_block';
46
46
  @import './svg';
47
+ @import './class_path_reference';
data/lib/docrb-html.rb CHANGED
@@ -73,9 +73,14 @@ class Renderer
73
73
  links: Metadata.project_links(@spec)
74
74
  )
75
75
 
76
- index = Page.new(title: "#{@spec[:name]} - Docrb") do
77
- readme = Component::Markdown.new(source: Markdown.render(@spec[:readme]))
76
+ readme = if @spec[:readme]
77
+ Component::Markdown.new(source: Markdown.render(@spec[:readme]))
78
+ else
79
+ Component::Markdown.new(source: "<div class=\"html\">" \
80
+ "<div class=\"faded\">This project does not contain a README.</div></div>")
81
+ end
78
82
 
83
+ index = Page.new(title: "#{@spec[:name]} - Docrb") do
79
84
  [
80
85
  project_header,
81
86
  Component::TabBar.new(
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Renderer
4
+ class Component
5
+ class ClassPathReference < Component
6
+ prop :doc
7
+ end
8
+ end
9
+ end
@@ -12,7 +12,7 @@ class Renderer
12
12
  :page_components
13
13
 
14
14
  def prepare
15
- @has_class_docs = (item.doc && !item.doc.empty?) || false
15
+ @has_class_docs = (item.doc && !item.doc.empty? && !item.doc[:value].empty?) || false
16
16
  @instance_methods = item.all_instance_methods
17
17
  @class_methods = item.all_class_methods
18
18
  @instance_attributes = item.kind == :class ? item.all_instance_attributes : []
@@ -90,7 +90,7 @@ class Renderer
90
90
  parent ||= obj.parent
91
91
 
92
92
  case (v = parent.source_of(obj))
93
- when :inherited, :included, :extended then v.to_s
93
+ when :inherited, :included, :extended then "inherited"
94
94
  when :self then ("override" if obj.try(:overriding))
95
95
  else raise "WTF? Source of #{obj} is #{v.inspect}!"
96
96
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Renderer
4
- VERSION = "0.3.0"
4
+ VERSION = "0.3.1"
5
5
  end
@@ -0,0 +1,9 @@
1
+ <% div("class-path-reference-base", id:) do %>
2
+ <% if doc[:prefix] %>
3
+ <span><%= doc[:prefix] %></span>
4
+ <% end %>
5
+ <% doc[:segments].each do |segment| %>
6
+ <span class="segment <%= segment.kind %>"><a class="dashed" href="<%= link_for(segment) %>"><%= segment.name %></a></span>
7
+ <% end %>
8
+ <span class="segment <%= doc[:target].kind %>"><a class="dashed" href="<%= link_for(doc[:target]) %>"><%= doc[:target].name %></a></span>
9
+ <% end %>
@@ -1,5 +1,5 @@
1
1
  <% div("documentation-block-base", id:) do %>
2
- <% if doc.nil? || doc.empty? %>
2
+ <% if doc.nil? || doc.empty? || doc[:value].empty? %>
3
3
  <div class="faded">(No documentation available)</div>
4
4
  <% else %>
5
5
  <% doc[:value].each do |block| %>
@@ -8,12 +8,13 @@
8
8
  <% elsif doc[:type] == :neutral_identifier || doc[:type] == :unresolved_identifier %>
9
9
  <code><%= doc[:value] %></code>
10
10
  <% elsif doc[:type] == :reference %>
11
- <%= reference(object: i) %>
11
+ <%= reference(object: doc) %>
12
12
  <% elsif doc[:type] == :symbol %>
13
13
  <%= symbol(name: doc[:value]) %>
14
14
  <% elsif doc[:type] == :method_ref %>
15
15
  <a class="method-ref dashed" href="<%= link_for(doc[:object]) %>"><%= doc[:value] %></a>
16
- <!-- <%= doc.to_json %> -->
16
+ <% elsif doc[:type] == :class_path_reference %>
17
+ <%= class_path_reference(doc: doc) %>
17
18
  <% else %>
18
19
  <div class="unknown-object">
19
20
  Unknown object <%= doc[:type] %>
@@ -3,7 +3,12 @@
3
3
  <span class="rest-arg <%= computed[:rest] %>"></span>
4
4
  <% end %>
5
5
 
6
- <%= computed[:name] %>
6
+ <% if computed[:rest] || computed[:block] %>
7
+ <%= computed[:name].to_s.gsub(/^([*]{1,2}|&)$/, '') %>
8
+ <% else %>
9
+ <%= computed[:name] %>
10
+ <% end %>
11
+
7
12
 
8
13
  <% if computed[:continuation] %>
9
14
  <span class="continuation <%= computed[:continuation] %>"></span>
@@ -1,6 +1,6 @@
1
1
  <% div("reference-base", id:) do %>
2
2
  <% if unresolved %>
3
- <span><%= value || path.last %></span>
3
+ <span class="broken"><%= value || path.last %></span>
4
4
  <% elsif ref_type == :pure %>
5
5
  <a href="<%= link_for(object) %>">
6
6
  <span class="resolved <%= ref_type %>">
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docrb-html
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Gama
@@ -83,6 +83,7 @@ files:
83
83
  - assets/checkbox.scss
84
84
  - assets/class_header.scss
85
85
  - assets/class_mod_name.scss
86
+ - assets/class_path_reference.scss
86
87
  - assets/component_list.scss
87
88
  - assets/constant_display.scss
88
89
  - assets/container.scss
@@ -134,6 +135,7 @@ files:
134
135
  - lib/renderer/component/checkbox.rb
135
136
  - lib/renderer/component/class_header.rb
136
137
  - lib/renderer/component/class_mod_name.rb
138
+ - lib/renderer/component/class_path_reference.rb
137
139
  - lib/renderer/component/component_list.rb
138
140
  - lib/renderer/component/constant_display.rb
139
141
  - lib/renderer/component/doc_box.rb
@@ -182,6 +184,7 @@ files:
182
184
  - templates/checkbox.erb
183
185
  - templates/class_header.erb
184
186
  - templates/class_mod_name.erb
187
+ - templates/class_path_reference.erb
185
188
  - templates/component_list.erb
186
189
  - templates/constant_display.erb
187
190
  - templates/doc_box.erb