Fix bug where head count always got larger across reloads

This commit is contained in:
Robert Lord
2017-06-15 13:05:03 -07:00
parent 685179d623
commit 8b830994b9

View File

@@ -1,13 +1,16 @@
# Unique header generation
require 'middleman-core/renderers/redcarpet'
class UniqueHeadCounter < Middleman::Renderers::MiddlemanRedcarpetHTML
@@head_count = {}
def initialize
super
@head_count = {}
end
def header(text, header_level)
friendly_text = text.parameterize
@@head_count[friendly_text] ||= 0
@@head_count[friendly_text] += 1
if @@head_count[friendly_text] > 1
friendly_text += "-#{@@head_count[friendly_text]}"
@head_count[friendly_text] ||= 0
@head_count[friendly_text] += 1
if @head_count[friendly_text] > 1
friendly_text += "-#{@head_count[friendly_text]}"
end
return "<h#{header_level} id='#{friendly_text}'>#{text}</h#{header_level}>"
end