module Jekyll::PaginateV2::AutoPages
def self.autopage_create(autopage_config, pagination_config, posts_to_use, configkey_name, indexkey_name, createpage_lambda )
page types to the calling code (this way all features can reuse the logic).
STATIC: this function actually performs the steps to generate the autopages. It uses a lambda function to delegate the creation of the individual
def self.autopage_create(autopage_config, pagination_config, posts_to_use, configkey_name, indexkey_name, createpage_lambda ) if !autopage_config[configkey_name].nil? ap_sub_config = autopage_config[configkey_name] if ap_sub_config ['enabled'] Jekyll.logger.info "AutoPages:","Generating #{configkey_name} pages" # Roll through all documents in the posts collection and extract the tags index_keys = Utils.ap_index_posts_by(posts_to_use, indexkey_name) # Cannot use just the posts here, must use all things.. posts, collections... index_keys.each do |index_key, value| # Iterate over each layout specified in the config ap_sub_config ['layouts'].each do | layout_name | # Use site.dest here as these pages are never created in the actual source but only inside the _site folder createpage_lambda.call(ap_sub_config, pagination_config, layout_name, index_key, value[-1]) # the last item in the value array will be the display name end end else Jekyll.logger.info "AutoPages:","#{configkey_name} pages are disabled/not configured in site.config." end end end