mirror of
https://github.com/danbulant/api_docs
synced 2026-05-19 04:08:40 +00:00
* Move nesting generator to separate class * Major bug fix, code simplification * Get rid of global value, use class variable instead.
22 lines
643 B
Ruby
22 lines
643 B
Ruby
# 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.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
|