module Lookbook::PageHelper
def embed(preview, scenario = nil, **opts)
-
opts
(Hash
) -- Options hash -
scenario
(String
) -- Example method name -
preview
(String
) -- Name of the preview class to embed
def embed(preview, scenario = nil, **opts) preview_entity = if preview.is_a?(Symbol) Engine.previews.find_by_path(preview) else Engine.previews.find_by_preview_class(preview) end scenario_entity = scenario ? preview_entity&.scenario(scenario) : preview_entity&.default_scenario opts[:actions] ||= ["inspect", "open"] lookbook_render Embed::Component.new( scenario: scenario_entity, params: opts.fetch(:params, {}), options: opts.except(:params) ) end
def page_path(id)
-
id
(String, PageEntity
) -- The id or PageEntity instance to generate a URL path for
Other tags:
- Api: - private
def page_path(id) page = id.is_a?(PageEntity) ? id : Engine.pages.find_by_id(id) if page.present? page.docs_path else Lookbook.logger.warn "Could not find page with id ':#{id}'" end end