lookbook 0.3.3 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/lookbook/app_controller.rb +1 -1
- data/app/views/lookbook/nav/_node.html.erb +2 -2
- data/lib/lookbook/collection.rb +3 -3
- data/lib/lookbook/engine.rb +10 -4
- data/lib/lookbook/null_logger.rb +47 -0
- data/lib/lookbook/parser.rb +1 -1
- data/lib/lookbook/preview.rb +1 -3
- data/lib/lookbook/taggable.rb +5 -3
- data/lib/lookbook/version.rb +1 -1
- data/lib/lookbook.rb +1 -0
- data/lib/tasks/lookbook_tasks.rake +1 -1
- metadata +3 -3
- data/lib/lookbook/navigation.rb +0 -68
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64f02e35ce90b1e27249752c3ea536ead68b7f6dba3a6bb0991dff8f29f63d92
|
4
|
+
data.tar.gz: effca06a618749eb6be51880929f417d0de03fe180d60e3df026065a7d0718ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3323004e8ea85985c687adfe184b0519b3b168676df1640cdb5ada335ffef304a1266e6ad239e62968261e2c043c98b23589dd28ed3913e22c620500fc76cdde
|
7
|
+
data.tar.gz: a60ed3e4b295875fcac660f560d75dc4ac9ecff3cf26a410c30837326c84e26e8e2cea4ad183879ee94049836ab68fb81b3d59c0aab6c081d239744184cfc374
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<li id="<%= node.id %>" x-data="navNode" <% if node.hierarchy_depth == 1 %> class="py-1 border-b border-gray-300 cursor-pointer"<% end %> :class="{hidden}" x-cloak>
|
2
|
-
<div @click="toggle
|
2
|
+
<div @click="toggle" style="<%= nav_padding_style(node.hierarchy_depth) %>" class="hover:bg-gray-200 hover:bg-opacity-50">
|
3
3
|
<div class="flex items-center cursor-pointer pr-3 py-[5px]">
|
4
4
|
<svg class="feather w-3 h-3 mr-1 text-gray-500 flex-none">
|
5
5
|
<use xlink:href="/lookbook-assets/feather-sprite.svg#chevron-down" x-show="open" x-cloak />
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<svg class="feather h-3.5 w-3.5 mr-1.5 flex-none text-indigo-500">
|
9
9
|
<use xlink:href="/lookbook-assets/feather-sprite.svg#<%= node.type == :preview ? 'layers' : 'folder' %>" />
|
10
10
|
</svg>
|
11
|
-
<div class="truncate whitespace-nowrap text-left <%= "font-bold" if node.type == :preview %>">
|
11
|
+
<div class="truncate w-full whitespace-nowrap text-left <%= "font-bold" if node.type == :preview %>" @click.stop="toggle(); if (open()) { <%= "navigate('#{path}')" if defined?(path) %>}">
|
12
12
|
<%= node.label %>
|
13
13
|
</div>
|
14
14
|
</div>
|
data/lib/lookbook/collection.rb
CHANGED
@@ -12,11 +12,11 @@ module Lookbook
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def name
|
15
|
-
@path ? @path.split("/").last : "root"
|
15
|
+
@path.present? ? @path.split("/").last : "root"
|
16
16
|
end
|
17
17
|
|
18
18
|
def label
|
19
|
-
name
|
19
|
+
name&.titleize
|
20
20
|
end
|
21
21
|
|
22
22
|
def hierarchy_depth
|
@@ -24,7 +24,7 @@ module Lookbook
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def items(sorted = true)
|
27
|
-
sorted ? @items.sort_by(&:
|
27
|
+
sorted ? @items.sort_by(&:label) : @items
|
28
28
|
end
|
29
29
|
|
30
30
|
def add(item)
|
data/lib/lookbook/engine.rb
CHANGED
@@ -23,6 +23,7 @@ module Lookbook
|
|
23
23
|
|
24
24
|
options.auto_refresh = true if options.auto_refresh.nil?
|
25
25
|
options.sort_examples = false if options.sort_examples.nil?
|
26
|
+
options.debug = false unless options.debug == true
|
26
27
|
|
27
28
|
options.preview_paths = options.preview_paths.map(&:to_s)
|
28
29
|
options.preview_paths += vc_options.preview_paths
|
@@ -43,10 +44,6 @@ module Lookbook
|
|
43
44
|
end
|
44
45
|
end
|
45
46
|
|
46
|
-
initializer "lookbook.cable.logger" do
|
47
|
-
Lookbook::Engine.cable.logger ||= Rails.logger
|
48
|
-
end
|
49
|
-
|
50
47
|
initializer "lookbook.parser.tags" do
|
51
48
|
Lookbook::Parser.define_tags
|
52
49
|
end
|
@@ -58,6 +55,15 @@ module Lookbook
|
|
58
55
|
)
|
59
56
|
end
|
60
57
|
|
58
|
+
initializer "lookbook.logging" do
|
59
|
+
if config.lookbook.debug == true
|
60
|
+
Lookbook::Engine.cable.logger ||= Rails.logger
|
61
|
+
else
|
62
|
+
Lookbook::Engine.cable.logger = Lookbook::NullLogger.new
|
63
|
+
config.action_view.logger = Lookbook::NullLogger.new
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
61
67
|
initializer "lookbook.preview.extend" do
|
62
68
|
ActiveSupport.on_load(:view_component) do
|
63
69
|
ViewComponent::Preview.extend Lookbook::Preview
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Lookbook
|
2
|
+
class NullLogger
|
3
|
+
def unknown(*)
|
4
|
+
nil
|
5
|
+
end
|
6
|
+
|
7
|
+
def fatal(*)
|
8
|
+
nil
|
9
|
+
end
|
10
|
+
|
11
|
+
def fatal?
|
12
|
+
false
|
13
|
+
end
|
14
|
+
|
15
|
+
def error(*)
|
16
|
+
nil
|
17
|
+
end
|
18
|
+
|
19
|
+
def error?
|
20
|
+
false
|
21
|
+
end
|
22
|
+
|
23
|
+
def warn(*)
|
24
|
+
nil
|
25
|
+
end
|
26
|
+
|
27
|
+
def warn?
|
28
|
+
false
|
29
|
+
end
|
30
|
+
|
31
|
+
def info(*)
|
32
|
+
nil
|
33
|
+
end
|
34
|
+
|
35
|
+
def info?
|
36
|
+
false
|
37
|
+
end
|
38
|
+
|
39
|
+
def debug(*)
|
40
|
+
nil
|
41
|
+
end
|
42
|
+
|
43
|
+
def debug?
|
44
|
+
false
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/lib/lookbook/parser.rb
CHANGED
data/lib/lookbook/preview.rb
CHANGED
@@ -80,7 +80,7 @@ module Lookbook
|
|
80
80
|
|
81
81
|
class << self
|
82
82
|
def all
|
83
|
-
ViewComponent::Preview.all
|
83
|
+
ViewComponent::Preview.all.sort_by(&:label)
|
84
84
|
end
|
85
85
|
|
86
86
|
def find(path)
|
@@ -90,8 +90,6 @@ module Lookbook
|
|
90
90
|
def exists?(path)
|
91
91
|
!!find(path)
|
92
92
|
end
|
93
|
-
|
94
|
-
|
95
93
|
end
|
96
94
|
|
97
95
|
private
|
data/lib/lookbook/taggable.rb
CHANGED
@@ -1,17 +1,19 @@
|
|
1
1
|
module Lookbook
|
2
2
|
module Taggable
|
3
3
|
def lookbook_hidden?
|
4
|
-
if code_object
|
4
|
+
if code_object&.tag(:hidden)
|
5
5
|
code_object.tag(:hidden).text.strip != "false"
|
6
6
|
end
|
7
7
|
end
|
8
8
|
|
9
9
|
def lookbook_label
|
10
|
-
code_object
|
10
|
+
code_object&.tag(:label)&.text
|
11
11
|
end
|
12
12
|
|
13
13
|
def lookbook_notes
|
14
|
-
code_object
|
14
|
+
if code_object&.docstring
|
15
|
+
code_object.docstring.to_s.strip
|
16
|
+
end
|
15
17
|
end
|
16
18
|
|
17
19
|
def lookbook_group
|
data/lib/lookbook/version.rb
CHANGED
data/lib/lookbook.rb
CHANGED
@@ -6,7 +6,7 @@ namespace :lookbook do
|
|
6
6
|
task :bump_version, [:version] do |t, args|
|
7
7
|
filename = Lookbook::Engine.root.join("lib/lookbook/version.rb")
|
8
8
|
current_version = Lookbook::VERSION.to_s
|
9
|
-
new_version = args[:version].sub("v", "").
|
9
|
+
new_version = args[:version].sub("v", "").tr("-", ".")
|
10
10
|
file = File.open(filename)
|
11
11
|
contents = file.read
|
12
12
|
File.write(filename, contents.gsub(current_version, new_version))
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lookbook
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Perkins
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-10-
|
11
|
+
date: 2021-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -232,7 +232,7 @@ files:
|
|
232
232
|
- lib/lookbook/collection.rb
|
233
233
|
- lib/lookbook/engine.rb
|
234
234
|
- lib/lookbook/lang.rb
|
235
|
-
- lib/lookbook/
|
235
|
+
- lib/lookbook/null_logger.rb
|
236
236
|
- lib/lookbook/parser.rb
|
237
237
|
- lib/lookbook/preview.rb
|
238
238
|
- lib/lookbook/preview_controller.rb
|
data/lib/lookbook/navigation.rb
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
module Lookbook
|
2
|
-
class Navigation
|
3
|
-
class << self
|
4
|
-
def previews
|
5
|
-
valid_previews = ViewComponent::Preview.all.filter { |preview| preview.get_visible_examples.any? && !preview.hidden? }
|
6
|
-
valid_previews.sort_by(&:normalized_name)
|
7
|
-
end
|
8
|
-
|
9
|
-
def flat
|
10
|
-
{
|
11
|
-
flat: true,
|
12
|
-
depth: 0,
|
13
|
-
items: previews.map do |preview|
|
14
|
-
nav_item_for_preview(preview, expand_name: true)
|
15
|
-
end
|
16
|
-
}
|
17
|
-
end
|
18
|
-
|
19
|
-
def nested
|
20
|
-
nav = {flat: false, depth: 0, items: []}
|
21
|
-
previews.each do |preview|
|
22
|
-
current = nav
|
23
|
-
depth = preview.path_parts.size
|
24
|
-
path = ""
|
25
|
-
preview.path_parts.each_with_index do |segment, i|
|
26
|
-
target = current[:items].find { |item| item[:name] == segment }
|
27
|
-
if target.nil?
|
28
|
-
path = "#{path.present? ? path + "." : ""}#{segment}"
|
29
|
-
target = {
|
30
|
-
depth: i + 1,
|
31
|
-
nested: true,
|
32
|
-
name: path,
|
33
|
-
label: segment.titleize,
|
34
|
-
type: :group,
|
35
|
-
items: []
|
36
|
-
}
|
37
|
-
current[:items].append(target)
|
38
|
-
end
|
39
|
-
if depth == i + 1
|
40
|
-
target[:items].push(nav_item_for_preview(preview))
|
41
|
-
else
|
42
|
-
current = target
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
nav
|
47
|
-
end
|
48
|
-
|
49
|
-
private
|
50
|
-
|
51
|
-
def nav_item_for_preview(preview, expand_name: false)
|
52
|
-
{
|
53
|
-
name: preview.preview_name.tr("/", "."),
|
54
|
-
label: expand_name ? "#{preview.pretty_path}/#{preview.label}" : preview.label,
|
55
|
-
type: :preview,
|
56
|
-
examples: preview.get_visible_examples.map do |example|
|
57
|
-
example_path = "#{preview.preview_name}/#{example.name}"
|
58
|
-
{
|
59
|
-
name: example.name,
|
60
|
-
label: example.label,
|
61
|
-
path: example_path
|
62
|
-
}
|
63
|
-
end
|
64
|
-
}
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|