Improved support for non Latin characters in category names. Fixes #128
This commit is contained in:
parent
dae6cceec2
commit
80f8a609f6
1
Gemfile
1
Gemfile
@ -11,3 +11,4 @@ gem 'compass', '>= 0.11'
|
||||
gem 'rubypants'
|
||||
gem 'rb-fsevent'
|
||||
gem 'stringex'
|
||||
gem 'unicode_utils'
|
@ -42,6 +42,7 @@ GEM
|
||||
sass (3.1.7)
|
||||
stringex (1.3.0)
|
||||
syntax (1.0.0)
|
||||
unicode_utils (1.0.0)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
@ -58,3 +59,4 @@ DEPENDENCIES
|
||||
rdiscount
|
||||
rubypants
|
||||
stringex
|
||||
unicode_utils
|
||||
|
@ -16,8 +16,9 @@
|
||||
# - category_dir: The subfolder to build category pages in (default is 'categories').
|
||||
# - category_title_prefix: The string used before the category name in the page title (default is
|
||||
# 'Category: ').
|
||||
module Jekyll
|
||||
require "unicode_utils"
|
||||
|
||||
module Jekyll
|
||||
|
||||
# The CategoryIndex class creates a single category page for the specified category.
|
||||
class CategoryIndex < Page
|
||||
@ -68,7 +69,7 @@ module Jekyll
|
||||
if self.layouts.key? 'category_index'
|
||||
dir = self.config['category_dir'] || 'categories'
|
||||
self.categories.keys.each do |category|
|
||||
self.write_category_index(File.join(dir, category.gsub(/_|\W/, '-')), category)
|
||||
self.write_category_index(File.join(dir, UnicodeUtils.nfkd(category).gsub(/[^\x00-\x7F]/, '').gsub(/_|\W/, '-').to_s), category)
|
||||
end
|
||||
|
||||
# Throw an exception if the layout couldn't be found.
|
||||
@ -105,7 +106,7 @@ module Jekyll
|
||||
def category_links(categories)
|
||||
dir = @context.registers[:site].config['category_dir']
|
||||
categories = categories.sort!.map do |item|
|
||||
"<a class='category' href='/#{dir}/#{item.gsub(/_|\W/, '-')}/'>#{item}</a>"
|
||||
"<a class='category' href='/#{dir}/#{UnicodeUtils.nfkd(item).gsub(/[^\x00-\x7F]/, '').gsub(/_|\W/, '-').to_s}/'>#{item}</a>"
|
||||
end
|
||||
|
||||
case categories.length
|
||||
|
Loading…
Reference in New Issue
Block a user