Jekyll Page Collections

screenshot of Jekyll Page Collections

Jekyll plugin to manage collections of pages just like posts

Overview

Jekyll's support for collections has evolved significantly, particularly from version 2 onward where official support was added. The jekyll-page-collections plugin serves as a handy tool to manage additional collections of pages that exhibit similar characteristics to posts. This feature is particularly useful for those who want a chronological listing of different page types, such as project listings or team members, alongside their regular blog posts.

Using this plugin allows for a more organized and user-friendly way to manage various types of content on a Jekyll site. It simplifies the handling of collections, ensuring that they can be accessed and displayed just like standard posts, thus enhancing the overall structure and navigability of your website.

Features

  • Easy Installation: Simply place the page_collections.rb file in your _plugins directory. Using Git submodules for this process is recommended for better tracking and updates.
  • Custom Configuration: Add a page_collections list to your site configuration to customize your collections. Each collection can have its own permalink style and source directory.
  • Collection Access: Access your collections via the site.data['page_collections'] hash, allowing for detailed control over categories and tags, similar to how standard posts are managed.
  • Dynamic Linking: Just like the post_url tag, the plugin provides a page_url tag to generate links to various pages without needing to hard-code URLs.
  • Previous and Next Navigation: Each collection page features previous and next attributes that facilitate easy navigation between related items, similar to how it functions for posts.
  • Compatibility: The plugin has been tested successfully with Jekyll 1.4.3 and Ruby 1.9.3, ensuring a reliable experience for earlier versions of Jekyll.
  • Seamless Transition: If upgrading to Jekyll's official collections feature, transitioning from page_collections is straightforward with minimal configuration changes.