diff options
Diffstat (limited to '')
-rw-r--r-- | plugins/category_generator.rb | 6 | ||||
-rw-r--r-- | plugins/gist_tag.rb | 3 | ||||
-rw-r--r-- | plugins/pygments_code.rb | 6 |
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 |