docrb-html 0.3.0 → 0.3.1

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: 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