Method: CodeRay::Encoders::HTML2.create_anchor

Defined in:
lib/milkode/cdweb/lib/coderay_html2.rb

.create_anchor(options) ⇒ Object



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
# File 'lib/milkode/cdweb/lib/coderay_html2.rb', line 164

def self.create_anchor(options)
  anchor_prefix = options[:line_number_anchors]
  anchor_prefix = 'line' if anchor_prefix == true
  anchor_prefix = anchor_prefix.to_s[/\w+/] if anchor_prefix

  if anchor_prefix
    anchor_url = options[:line_number_anchor_url] || ""

    proc do |line|
      line = line.to_s
      anchor = anchor_prefix + line
      "<a href=\"#{anchor_url}##{anchor}\" name=\"#{anchor}\">#{line}</a>"
    end
  elsif options[:onclick_copy_line_number]
    prefix = options[:onclick_copy_prefix] || ""
    proc do |line|
      "<a href=\"#lineno-modal\" data-toggle=\"modal\" onclick=\"lineno_setup('#{prefix}', '#{line.to_s}');\" title=\"Display line number\">#{line.to_s}</a>"
      # "<a onclick=\"lineno_setup('#{prefix}', '#{line.to_s}');\" title=\"Display line number\">#{line.to_s}</a>"
    end
  else
    proc { |line| line.to_s }  # :to_s.to_proc in Ruby 1.8.7+
  end
end