lookbook 0.4.0.beta.2 → 0.4.4

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: b9dc941aff608e601ffdf5e883aaf65a48ec815b40d01db58e85af66c793539d
4
- data.tar.gz: 84e1027d39111c49e101b37dbc9aeaabe63dfcbab2fd3adfaa762de4fd39ee36
3
+ metadata.gz: 2dd5e3383d7d497f6b99507e67e7ed409d76f23f1a73bcecd987a8a1fb02501e
4
+ data.tar.gz: 0b89c9e0c6c633ac24d83d49abe67800df42de9e2e218c9bf4325cbf04e77c95
5
5
  SHA512:
6
- metadata.gz: 1f1399cdf6ed3f6184208ffaac1aaf36fd18e8abd5dcec96b73cac5d1384a722b6f742a61c7ec404d5faecd255231bf3f54dff33e2825ce5a4dd0f01c5e2a331
7
- data.tar.gz: 875fb74128ed3cc0f8d72a57245207e8224318d08a8f6f35dc4b627c06e4c0a159501be042917e92340b536a1fbdb81d379fd6b805bccaa70796bfcbbce4dc67
6
+ metadata.gz: 80db83b54f876124ade2e1d332263fc696463ee489969b9c082fdd3407821e696a05ee5665370699b565bdebfa8aaa63bb2cd153b760b6b5905c3745f0f500cd
7
+ data.tar.gz: 4677a35a574a4e161f0061a0dce0da13ebedea7953e0251102b0646f848aa4da5a920f99ba58d51511013d67ec18756b39cec95d8f55072584765bf1381a57cc
data/README.md CHANGED
@@ -143,7 +143,7 @@ The following Lookbook-specific tags are available for use:
143
143
 
144
144
  * `@label <label>` -[Customise navigation labels](#-label-text)
145
145
  * `@hidden` - [Prevent items displaying in the navigation](#-hidden)
146
- * `@display <key>:<value>` - [Specify params to pass into the preview template](#-display-key-value)
146
+ * `@display <key> <value>` - [Specify params to pass into the preview template](#-display-key-value)
147
147
  * `@!group <name> ... @!endgroup` - [Render examples in a group on the same page](#-group-name--endgroup)
148
148
 
149
149
  ### 🔖 `@label <text>`
@@ -96,8 +96,7 @@ module Lookbook
96
96
  }
97
97
  end
98
98
  set_params
99
- joined = render_to_string "lookbook/preview_group", locals: {examples: examples}, layout: nil
100
- preview_controller.render_in_layout_to_string(joined, @preview.lookbook_layout || current_layout)
99
+ preview_controller.render_in_layout_to_string("lookbook/preview/group", {examples: examples}, @preview.lookbook_layout)
101
100
  else
102
101
  set_params(@example)
103
102
  preview_controller.params[:path] = "#{@preview.preview_name}/#{@example.name}".chomp("/")
@@ -106,18 +105,14 @@ module Lookbook
106
105
  end
107
106
 
108
107
  def set_params(example = nil)
109
- example_params = @preview.lookbook_display_params.deep_merge(example ? example.lookbook_display_params : {})
108
+ example_params = example.nil? ? @preview.display_params : example.display_params
110
109
  preview_controller.params.merge!({
111
110
  lookbook: {
112
- display: Lookbook.config.preview_display_params.deep_merge(example_params)
111
+ display: example_params
113
112
  }
114
113
  })
115
114
  end
116
115
 
117
- def current_layout
118
- preview_controller.send :_layout, preview_controller.lookup_context, [:html]
119
- end
120
-
121
116
  def assign_inspector
122
117
  @inspector = {
123
118
  panes: {
@@ -8,7 +8,12 @@ module Lookbook
8
8
  end
9
9
 
10
10
  def markdown(text)
11
- Markdown.new(text).to_html.html_safe
11
+ markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML, {
12
+ tables: true,
13
+ fenced_code_blocks: true,
14
+ disable_indented_code_blocks: true,
15
+ })
16
+ markdown.render(text).html_safe
12
17
  end
13
18
 
14
19
  def highlight(source, language)
@@ -1,4 +1,4 @@
1
- <% examples = node.get_examples %>
1
+ <% examples = node.get_examples.reject(&:hidden?) %>
2
2
  <% if examples.many? %>
3
3
  <%= render "nav/node", node: node, path: show_path(examples.first.path) do %>
4
4
  <% examples.each do |example| %>
@@ -3,6 +3,7 @@
3
3
  <nav class="-mb-px flex space-x-8 cursor-auto">
4
4
  <% panes.each do |key, props| %>
5
5
  <a
6
+ id="inspector-tab-<%= key %>"
6
7
  href="#<%= key %>"
7
8
  class="whitespace-nowrap py-2 px-1 border-b-2 cursor-pointer <%= "!text-gray-300" if props[:disabled] %>"
8
9
  :class="{
@@ -23,7 +24,7 @@
23
24
  <% if props[:clipboard].present? %>
24
25
  <%= render "shared/clipboard" do %><%= h props[:clipboard].strip %><% end %>
25
26
  <% end %>
26
- <div class="flex flex-col h-full overflow-auto">
27
+ <div id="inspector-content-<%= key %>" class="flex flex-col h-full overflow-auto">
27
28
  <%= render "workbench/inspector/#{props[:template]}", key: key, **props %>
28
29
  </div>
29
30
  </div>
@@ -30,7 +30,7 @@ module Lookbook
30
30
 
31
31
  options.preview_controller = vc_options.preview_controller if options.preview_controller.nil?
32
32
  options.preview_srcdoc = true if options.preview_srcdoc.nil?
33
- options.preview_display_params ||= {}
33
+ options.preview_display_params ||= {}.with_indifferent_access
34
34
 
35
35
  options.listen_paths = options.listen_paths.map(&:to_s)
36
36
  options.listen_paths += options.preview_paths
@@ -5,7 +5,7 @@ module Lookbook
5
5
  YARDOC_FILE_PATH = Rails.root.join("tmp/storage/.yardoc").to_s
6
6
 
7
7
  def initialize(paths)
8
- @paths = paths.map { |p| "#{p}/**/*_preview.rb" }
8
+ @paths = paths.map { |p| "#{p}/**/*preview.rb" }
9
9
  YARD::Registry.yardoc_file = YARDOC_FILE_PATH
10
10
  end
11
11
 
@@ -23,8 +23,8 @@ module Lookbook
23
23
  return @lookbook_examples if @lookbook_examples.present?
24
24
  public_methods = public_instance_methods(false)
25
25
  public_method_objects = code_object.meths.filter { |m| public_methods.include?(m.name) }
26
- visible = public_method_objects.map { |m| PreviewExample.new(m.name.to_s, self) }.reject(&:hidden?)
27
- sorted = Lookbook.config.sort_examples ? visible.sort_by(&:label) : visible
26
+ examples = public_method_objects.map { |m| PreviewExample.new(m.name.to_s, self) }
27
+ sorted = Lookbook.config.sort_examples ? examples.sort_by(&:label) : examples
28
28
  @lookbook_examples = []
29
29
  if code_object.groups.any?
30
30
  sorted.group_by { |m| m.group }.each do |name, examples|
@@ -78,6 +78,10 @@ module Lookbook
78
78
  defined?(@layout) ? @layout : nil
79
79
  end
80
80
 
81
+ def display_params
82
+ Lookbook.config.preview_display_params.deep_merge(lookbook_display_params)
83
+ end
84
+
81
85
  class << self
82
86
  def all
83
87
  ViewComponent::Preview.all.sort_by(&:label)
@@ -14,9 +14,9 @@ module Lookbook
14
14
  render_to_string template, opts
15
15
  end
16
16
 
17
- def render_in_layout_to_string(content, layout_override)
18
- layout = determine_layout(layout_override, prepend_views: false)[:layout]
19
- render_to_string html: content, layout: layout
17
+ def render_in_layout_to_string(template, locals, layout = nil)
18
+ append_view_path Lookbook::Engine.root.join("app/views")
19
+ render_to_string template, locals: locals, **determine_layout(@preview.lookbook_layout)
20
20
  end
21
21
  end
22
22
  end
@@ -21,6 +21,10 @@ module Lookbook
21
21
  lookbook_label.presence || name.titleize
22
22
  end
23
23
 
24
+ def display_params
25
+ @preview.display_params.merge(lookbook_display_params)
26
+ end
27
+
24
28
  def method_source
25
29
  code_object.source.split("\n")[1..-2].join("\n").strip_heredoc
26
30
  end
@@ -26,6 +26,10 @@ module Lookbook
26
26
  :group
27
27
  end
28
28
 
29
+ def hidden?
30
+ false
31
+ end
32
+
29
33
  def matchers
30
34
  [@preview.label, label].map { |m| m.gsub(/\s/, "").downcase }
31
35
  end
@@ -21,7 +21,7 @@ module Lookbook
21
21
  end
22
22
 
23
23
  def lookbook_display_params
24
- display_params = {}
24
+ display_params = {}.with_indifferent_access
25
25
  if code_object&.tags(:display).present?
26
26
  code_object.tags(:display).each do |tag|
27
27
  parts = tag.text.strip.match(/^([^\s]*)\s?(.*)$/)
@@ -1,3 +1,3 @@
1
1
  module Lookbook
2
- VERSION = "0.4.0.beta.2"
2
+ VERSION = "0.4.4"
3
3
  end
@@ -11,5 +11,10 @@ namespace :lookbook do
11
11
  contents = file.read
12
12
  File.write(filename, contents.gsub(current_version, new_version))
13
13
  end
14
+
15
+ desc "Build Gem and push to RubyGems"
16
+ task :build_and_push do
17
+ sh("rake build && gem push pkg/lookbook-#{Lookbook::VERSION}.gem")
18
+ end
14
19
  end
15
20
  end
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.4.0.beta.2
4
+ version: 0.4.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-21 00:00:00.000000000 Z
11
+ date: 2021-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -216,7 +216,7 @@ files:
216
216
  - app/views/lookbook/nav/_leaf.html.erb
217
217
  - app/views/lookbook/nav/_node.html.erb
218
218
  - app/views/lookbook/nav/_preview.html.erb
219
- - app/views/lookbook/preview_group.html.erb
219
+ - app/views/lookbook/preview/group.html.erb
220
220
  - app/views/lookbook/shared/_clipboard.html.erb
221
221
  - app/views/lookbook/shared/_header.html.erb
222
222
  - app/views/lookbook/shared/_sidebar.html.erb
@@ -259,9 +259,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
259
259
  version: '0'
260
260
  required_rubygems_version: !ruby/object:Gem::Requirement
261
261
  requirements:
262
- - - ">"
262
+ - - ">="
263
263
  - !ruby/object:Gem::Version
264
- version: 1.3.1
264
+ version: '0'
265
265
  requirements: []
266
266
  rubygems_version: 3.1.2
267
267
  signing_key: