File: collectionAutoPage.rb

package info (click to toggle)
ruby-jekyll-paginate-v2 3.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 1,988 kB
  • sloc: ruby: 1,085; sh: 7; makefile: 3
file content (31 lines) | stat: -rw-r--r-- 1,349 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
module Jekyll
  module PaginateV2::AutoPages

    class CollectionAutoPage < BaseAutoPage
      def initialize(site, base, autopage_config, pagination_config, layout_name, collection, collection_name)

        # Do we have a slugify configuration available
        slugify_config = autopage_config.is_a?(Hash) && autopage_config.has_key?('slugify') ? autopage_config['slugify'] : nil

        # Construc the lambda function to set the config values
        # this function received the pagination config hash and manipulates it
        set_autopage_data_lambda = lambda do | in_config |
          in_config['collection'] = collection
        end

        get_autopage_permalink_lambda = lambda do |permalink_pattern|
          return Utils.format_coll_macro(permalink_pattern, collection, slugify_config)
        end

        get_autopage_title_lambda = lambda do |title_pattern|
          return Utils.format_coll_macro(title_pattern, collection, slugify_config)
        end
                
        # Call the super constuctor with our custom lambda
        super(site, base, autopage_config, pagination_config, layout_name, set_autopage_data_lambda, get_autopage_permalink_lambda, get_autopage_title_lambda, collection_name)
        
      end #function initialize

    end #class CollectionAutoPage
  end # module PaginateV2
end # module Jekyll