module Ariadne::Yard::LookbookDocsHelper
def link_to_component(component)
-
(String)
- The link, either in HTML or markdown format.
Parameters:
-
component
(Class
) -- The component class to link to.
def link_to_component(component) backend = Ariadne::Yard::LookbookPagesBackend.new(Ariadne::Yard::Registry.make, nil) component_ref = Ariadne::Yard::ComponentManifest.ref_for(component) page = backend.page_for(component_ref) # If the page_path method is available, we're being rendered into HTML by Lookbook # and should emit an HTML <a> tag. No page_path means we're being rendered into # markdown by LookbookPagesBackend and should emit a markdown + ERB link that # Lookbook will eventually render on page load. if respond_to?(:page_path) link_to(page.docs.short_name, page_path(page.page_id.to_sym.inspect)) else "[#{page.docs.short_name}](<%= page_path(#{page.page_id.to_sym.inspect}) %>)".html_safe end end