mirror of
https://github.com/danbulant/api_docs
synced 2026-05-24 12:27:29 +00:00
Fix #837 Chinese, Russian headers, thx finalnova
This commit is contained in:
parent
7ef0fd4327
commit
48807d74c9
1 changed files with 8 additions and 1 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
# Unique header generation
|
# Unique header generation
|
||||||
require 'middleman-core/renderers/redcarpet'
|
require 'middleman-core/renderers/redcarpet'
|
||||||
|
require 'digest'
|
||||||
class UniqueHeadCounter < Middleman::Renderers::MiddlemanRedcarpetHTML
|
class UniqueHeadCounter < Middleman::Renderers::MiddlemanRedcarpetHTML
|
||||||
def initialize
|
def initialize
|
||||||
super
|
super
|
||||||
|
|
@ -7,6 +8,12 @@ class UniqueHeadCounter < Middleman::Renderers::MiddlemanRedcarpetHTML
|
||||||
end
|
end
|
||||||
def header(text, header_level)
|
def header(text, header_level)
|
||||||
friendly_text = text.gsub(/<[^<]+>/,"").parameterize
|
friendly_text = text.gsub(/<[^<]+>/,"").parameterize
|
||||||
|
if friendly_text.strip.length == 0
|
||||||
|
# Looks like parameterize removed the whole thing! It removes many unicode
|
||||||
|
# characters like Chinese and Russian. To get a unique URL, let's just
|
||||||
|
# URI escape the whole header
|
||||||
|
friendly_text = Digest::SHA1.hexdigest(text)[0,10]
|
||||||
|
end
|
||||||
@head_count[friendly_text] ||= 0
|
@head_count[friendly_text] ||= 0
|
||||||
@head_count[friendly_text] += 1
|
@head_count[friendly_text] += 1
|
||||||
if @head_count[friendly_text] > 1
|
if @head_count[friendly_text] > 1
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue