You can not select more than 25 topics
Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- # Nested unique header generation
- require 'middleman-core/renderers/redcarpet'
-
- class NestingUniqueHeadCounter < Middleman::Renderers::MiddlemanRedcarpetHTML
- def initialize
- super
- @@headers_history = {} if !defined?(@@headers_history)
- end
-
- def header(text, header_level)
- friendly_text = text.gsub(/<[^>]*>/,"").parameterize
- @@headers_history[header_level] = text.parameterize
-
- if header_level > 1
- for i in (header_level - 1).downto(1)
- friendly_text.prepend("#{@@headers_history[i]}-") if @@headers_history.key?(i)
- end
- end
-
- return "<h#{header_level} id='#{friendly_text}'>#{text}</h#{header_level}>"
- end
- end
|