diff --git a/lib/nesting_unique_head.rb b/lib/nesting_unique_head.rb new file mode 100644 index 0000000..0acd7eb --- /dev/null +++ b/lib/nesting_unique_head.rb @@ -0,0 +1,22 @@ +# 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 "#{text}" + end +end diff --git a/lib/unique_head.rb b/lib/unique_head.rb index c5dc279..9c26790 100644 --- a/lib/unique_head.rb +++ b/lib/unique_head.rb @@ -14,4 +14,4 @@ class UniqueHeadCounter < Middleman::Renderers::MiddlemanRedcarpetHTML end return "#{text}" end -end +end \ No newline at end of file