X-Git-Url: https://git.ralfj.de/web.git/blobdiff_plain/54d15e2e8b91c53cd4e5d6147baf9adf871d3b55..dfe63277d6c24dc53d7b42e23840e6995d8fcc0b:/personal/_plugins/categories.rb?ds=sidebyside diff --git a/personal/_plugins/categories.rb b/personal/_plugins/categories.rb index 1da0fe1..3e0fabe 100644 --- a/personal/_plugins/categories.rb +++ b/personal/_plugins/categories.rb @@ -9,9 +9,9 @@ module Jekyll self.process(@name) self.read_yaml(File.join(base, '_layouts'), layout) - self.data['category'] = category + self.data['category'] = category # this tells the site template to add a link to the RSS feed - category_title_prefix = site.config['blog']['category_title_prefix'] || 'Category: ' + category_title_prefix = site.config['blog']['title'] + ": " self.data['title'] = "#{category_title_prefix}#{category.capitalize}" end end @@ -36,7 +36,7 @@ module Jekyll end # Adds some extra filters used during the category creation process. - module Filters + module CategoryFilter # Outputs a list of categories as comma-separated links. This is used # to output the category list for each post on a category page. @@ -45,11 +45,9 @@ module Jekyll # # Returns string def category_links(categories) - base_dir = @context.registers[:site].config['blog']['category_dir'] + cat_base_dir = File.join(@context.registers[:site].config['baseurl'], @context.registers[:site].config['blog']['category_dir']) categories = categories.sort!.map do |category| - category_url = File.join(base_dir, "#{category}.html") - # Make sure the category directory begins with a slash. - category_dir = "/#{category_dir}" unless category_dir =~ /^\// + category_url = File.join(cat_base_dir, "#{category}.html") "#{category.capitalize}" end @@ -64,3 +62,5 @@ module Jekyll end end end + +Liquid::Template.register_filter(Jekyll::CategoryFilter)