class Maglev::Content::Link
def active?
def active? link[:link_type] == 'page' && link[:link_id] == page.id end
def href
def href link[:href] || '#' end
def link
def link @link ||= if content.is_a?(String) { href: content, link_type: 'url', open_new_window: false } elsif content content else {} end.symbolize_keys end
def open_new_window?
def open_new_window? !!link[:open_new_window] end
def tag(view_context, options = {}, &block)
def tag(view_context, options = {}, &block) captured_content = view_context.capture(&block) if block_given? view_context.link_to( captured_content || text_tag(view_context), href, { data: (options.delete(:data) || {}).merge(tag_data), target: target_blank }.merge(options) ) end
def target_blank
def target_blank open_new_window? ? '_blank' : nil end
def text
def text link[:text] end
def text_tag(view_context)
def text_tag(view_context) view_context.tag.span(text, **{ data: { maglev_id: "#{tag_id}.text" } }).html_safe end
def to_s
def to_s href end
def with_text?
def with_text? !!setting.options[:with_text] end