mirror of
https://github.com/zebrajr/react.git
synced 2025-12-07 00:20:28 +01:00
...without preventing clicks on other things. Just use an `<a name="...">` tag that doesn't take up any space to make sure that we're not covering up something else. For whatever reason, doing `position: relative; top: -$navHeight;` doesn't work and causes the anchor target not to be moved up. This solution works in both Chrome and Firefox.
18 lines
517 B
Ruby
18 lines
517 B
Ruby
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}><a class=\"anchor\" name=\"#{clean_title}\"></a>#{title} <a class=\"hash-link\" href=\"##{clean_title}\">#</a></h#{level}>"
|
|
end
|
|
end
|
|
|