Module: Lookbook::PageHelper

Includes:
Utils
Defined in:
app/helpers/lookbook/page_helper.rb

Constant Summary

Constants included from Utils

Utils::FRONTMATTER_REGEX, Utils::POSITION_PREFIX_REGEX

Instance Method Summary collapse

Instance Method Details

#embed(*args, params: {}, type: :preview, max_height: nil, **opts) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/helpers/lookbook/page_helper.rb', line 14

def embed(*args, params: {}, type: :preview, max_height: nil, **opts)
  return unless args.any?

  @embed_counter ||= 0

  preview_lookup = args.first.is_a?(Symbol) ? args.first : preview_class_path(args.first)
  preview = Lookbook.previews.find(preview_lookup)
  example = args[1] ? preview&.example(args[1]) : preview&.default_example

  embed_id = "#{url_for}/embed/#{example.lookup_path}".delete_prefix("/").tr("/", "-")

  lookbook_render :embed,
    id: embed_id,
    example: example,
    params: params,
    max_height: max_height,
    opts: opts
end

#page_path(id) ⇒ Object



5
6
7
8
9
10
11
12
# File 'app/helpers/lookbook/page_helper.rb', line 5

def page_path(id)
  page = id.is_a?(Page) ? id : Lookbook.pages.find(id)
  if page.present?
    lookbook_page_path page.lookup_path
  else
    Lookbook.logger.warn "Could not find page with id ':#{id}'"
  end
end