Sha256: 405271032814a5657aec47258364b7b52e552295db8d9ae233f8b61d0b426e05
Contents?: true
Size: 1.32 KB
Versions: 2
Compression:
Stored size: 1.32 KB
Contents
# frozen_string_literal: true module Jekyll module Podcast # Generator to create tag pages for each tag on the site module TagPageGenerator # The generator itself class Generator < Jekyll::Generator def generate(site) site.tags.each do |tag, _| site.pages << TagPage.new(site, tag) end end end # Represents a tag page; includes pagination information class TagPage < Jekyll::Page def initialize(site, tag) super(site, site.baseurl, '/', 'index.html') @tag = tag @data ||= {} @data['permalink'] = Jekyll::Podcast::TagPageGenerator.permalink(@tag, site) @data['layout'] = 'tag-page' @data['title'] = tag @data['pagination'] = pagination(site) end def pagination(site) pagination_config = site.config.dig('tag_pages', 'pagination') || {} { 'enabled' => true, 'tag' => @tag, 'sort_reverse' => false }.merge(pagination_config) end end def self.permalink(tag, site) if site.data['tag_permalinks'] && site.data['tag_permalinks'][tag] site.data['tag_permalinks'][tag] else "/#{Jekyll::Utils.slugify(tag)}/" end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
jekyll-podcast-0.9.1 | lib/jekyll/podcast/tag_page_generator.rb |
jekyll-podcast-0.9.0 | lib/jekyll/podcast/tag_page_generator.rb |