From 02dac280d0c74a0109e09b613b0a0714caebaf35 Mon Sep 17 00:00:00 2001
From: David Tchepak <dave@davesquared.net>
Date: Thu, 2 Feb 2012 23:06:47 +1100
Subject: Extract category_link filter from category_generator.rb plugin

Allows category_link to be used as a filter to display a link to
any category.
---
 plugins/category_generator.rb | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

(limited to 'plugins')

diff --git a/plugins/category_generator.rb b/plugins/category_generator.rb
index bb5fd329..77e06afb 100644
--- a/plugins/category_generator.rb
+++ b/plugins/category_generator.rb
@@ -141,10 +141,7 @@ module Jekyll
     # Returns string
     #
     def category_links(categories)
-      dir = @context.registers[:site].config['category_dir']
-      categories = categories.sort!.map do |item|
-        "<a class='category' href='/#{dir}/#{item.gsub(/_|\P{Word}/, '-').gsub(/-{2,}/, '-').downcase}/'>#{item}</a>"
-      end
+      categories = categories.sort!.map { |c| category_link c }
 
       case categories.length
       when 0
@@ -156,6 +153,17 @@ module Jekyll
       end
     end
 
+    # Outputs a single category as an <a> link.
+    #
+    #  +category+ is a category string to format as an <a> link
+    #
+    # Returns string
+    #
+    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>"
+    end
+
     # Outputs the post.date as formatted html, with hooks for CSS styling.
     #
     #  +date+ is the date object to format as HTML.
-- 
cgit v1.2.1