Collection Home is an open-source Jekyll layout, distributed as a Git submodule, that automatically builds a listing page for any named Jekyll collection when the site compiles to HTML.
What is Collection Home?
Collection Home is a Liquid templating layout for Jekyll sites, released by the liquid-utilities organization under the GNU Affero General Public License v3.0. It accepts a collection_name value from page FrontMatter and renders an HTML list of every document in that collection, placing any Markdown content written on the listing page above the generated links. The entire implementation lives in one file, collection-home.html, and is installed via a Git submodule so it can be version-pinned per project.
What makes Collection Home stand out?
- Git submodule distribution — install with
git submodule add -b master --name collection-home https://github.com/liquid-utilities/collection-home.git _layouts/modules/collection-home, then update withgit submodule update --init --merge --recursive. - FrontMatter-driven configuration — set
collection_nameandlist_titlein a page's FrontMatter and the layout knows which collection to list and what heading to use. - Content before the list — Markdown content in the page using the layout is compiled and displayed above the collection page links.
- Sorting and reverse order — version 0.0.3 plus supports
posts_sort_by(a FrontMatter key name) andposts_reverse: trueto control the ordering. - Placement flexibility — the layout can be invoked from any page file, such as
your_collection.md, not only from inside the collection folder. - Minima-optimized setup — works without modification on Jekyll's default Minima theme; other themes require editing one SVG icon reference line.
- Open source license — distributed under AGPL-3.0, so it can be freely reused with source disclosure obligations.
Who is Collection Home for?
- Jekyll site developers who want an auto-generated index for a collection without hand-writing Liquid loops.
- Technical writers on GitHub Pages who need a table-of-contents style listing for documentation collections.
- Theme and plugin authors who build modular layouts as submodules that can be reused across multiple repositories.
What can you do with Collection Home?
- Blog index pages: assign
collection_nameto a posts collection and addlist_titleto display a header above each post's link. - Documentation hubs: create a separate
docs.mdpage with the layout pointing at adocscollection, with each doc's FrontMatter supplying its title, date, and description. - Chronological listings: add
posts_sort_by: dateandposts_reverse: trueto show the newest collection entries first.
How does Collection Home work?
Setting it up requires adding the submodule, creating a page with layout: modules/collection-home/collection-home and a collection_name, then pushing the changes. Each collection page should include standard FrontMatter like layout, title, date, and description; the date display depends on the site's timezone setting in _config.yml.
FAQ
Does Collection Home require the Minima theme?
The layout is written to run without edits if the site uses Minima, Jekyll's default theme. For other themes, you may need to adjust the SVG icon line that references minima-social-icons.svg; auto-detection for GitHub Pages themes may arrive in a future release.
How do I install Collection Home?
Use the Git submodule command: git submodule add -b master --name collection-home https://github.com/liquid-utilities/collection-home.git _layouts/modules/collection-home. Then commit the .gitmodules file and the submodule directory, and clone with --recurse-submodules to get a complete checkout.
Can I change the order of listed collection pages?
Yes. Version 0.0.3 and later let you set posts_sort_by to any FrontMatter key, and add posts_reverse: true to invert the order. Without these, the layout uses the default collection order.
Why does the date on my pages shift?
Jekyll defaults to a 0000 timezone offset when timezone is not set in _config.yml, which recalculates both the day and the hour. Setting a value like America/Los_Angeles prevents that offset from altering collection page dates.








