class BlueDoc::SML::Rules::Mention

Public Class Methods

match?(node) click to toggle source
# File lib/bluedoc/sml/rules/mention.rb, line 5
def self.match?(node)
  tag_name(node) == "mention"
end
to_html(node, opts = {}) click to toggle source
# File lib/bluedoc/sml/rules/mention.rb, line 9
def self.to_html(node, opts = {})
  renderer = opts[:renderer]
  attrs = attributes(node)

  name = (attrs[:name] || "").strip
  username = (attrs[:username] || "").strip
  return "" if name.blank?

  if username.present?
    full_name = "#{name} (#{username})"

    %(<a class="user-mention" href="/#{username}" title="#{full_name}">@<span class="mention-name">#{name}</span></a>)
  else
    "@#{name}"
  end
end