aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/category_generator.rb6
-rw-r--r--plugins/gist_tag.rb3
-rw-r--r--plugins/pygments_code.rb6
3 files changed, 12 insertions, 3 deletions
diff --git a/plugins/category_generator.rb b/plugins/category_generator.rb
index d4840a8d..a49c4296 100644
--- a/plugins/category_generator.rb
+++ b/plugins/category_generator.rb
@@ -19,6 +19,8 @@
# - category_title_prefix: The string used before the category name in the page title (default is
# 'Category: ').
+require 'stringex'
+
module Jekyll
# The CategoryIndex class creates a single category page for the specified category.
@@ -106,7 +108,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(/_|\P{Word}/, '-').gsub(/-{2,}/, '-').downcase), category)
+ self.write_category_index(File.join(dir, category.to_url), category)
end
# Throw an exception if the layout couldn't be found.
@@ -171,7 +173,7 @@ ERR
#
def category_link(category)
dir = @context.registers[:site].config['category_dir']
- "<a class='category' href='/#{dir}/#{category.gsub(/_|\P{Word}/, '-').gsub(/-{2,}/, '-').downcase}/'>#{category}</a>"
+ "<a class='category' href='/#{dir}/#{category.to_url}/'>#{category}</a>"
end
# Outputs the post.date as formatted html, with hooks for CSS styling.
diff --git a/plugins/gist_tag.rb b/plugins/gist_tag.rb
index 5f590e96..2549ea7a 100644
--- a/plugins/gist_tag.rb
+++ b/plugins/gist_tag.rb
@@ -84,6 +84,9 @@ module Jekyll
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new raw_uri.request_uri
data = https.request request
+ if data.code.to_i != 200
+ raise RuntimeError, "Gist replied with #{data.code} for #{gist_url}"
+ end
data = data.body
cache gist, file, data unless @cache_disabled
data
diff --git a/plugins/pygments_code.rb b/plugins/pygments_code.rb
index 1676a3e0..87d3cd6d 100644
--- a/plugins/pygments_code.rb
+++ b/plugins/pygments_code.rb
@@ -21,7 +21,11 @@ module HighlightCode
if File.exist?(path)
highlighted_code = File.read(path)
else
- highlighted_code = Pygments.highlight(code, :lexer => lang, :formatter => 'html', :options => {:encoding => 'utf-8'})
+ begin
+ highlighted_code = Pygments.highlight(code, :lexer => lang, :formatter => 'html', :options => {:encoding => 'utf-8'})
+ rescue MentosError
+ raise "Pygments can't parse unknown language: #{lang}."
+ end
File.open(path, 'w') {|f| f.print(highlighted_code) }
end
else