You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
17 lines
437 B
17 lines
437 B
require 'redcarpet'
|
|
require 'sanitize'
|
|
|
|
# Simple converter that is probably better than RedCarpet's built in TOC id
|
|
# generator (which ends up with things lik id="toc_1"... terrible).
|
|
|
|
class Redcarpet::Render::HTML
|
|
def header(title, level)
|
|
clean_title = Sanitize.clean(title)
|
|
.downcase
|
|
.gsub(/\s+/, "-")
|
|
.gsub(/[^A-Za-z0-9\-_.]/, "")
|
|
|
|
return "<h#{level} id=\"#{clean_title}\">#{title}</h#{level}>"
|
|
end
|
|
end
|
|
|
|
|