A minimal portfolio and blog theme for Kirby CMS. List your work, write when you want.
Index is a Kirby theme for designers and developers who want a clean way to list their work and write about it. Think of it as a table of contents for your professional life: a few highlighted projects, a list of everything else, and a blog. No menu, no case studies, no complex navigation, because that is where portfolios tend to stall.
It is built for updating, not for building. Add a project in the Panel, write a post, done.
What is in it
- Two colours, a primary and an accent. Change two variables and the whole site follows.
- Geist Mono for headings and index pages, Geist Sans for body copy, both self-hosted under the SIL Open Font License, swappable through three CSS variables.
- Two blog listing styles, an index grouped by year or a continuous feed of full posts, switched from the Panel.
- RSS feed, XML sitemap, breadcrumbs and the basic SEO fields.
- A tiny stylesheet, no build tools, no JavaScript.
- Override any template, snippet or blueprint by placing a file with the same name in your site folder, and inject head content with a header-extra snippet.
Getting it running
New to Kirby? The download is a complete, ready-to-run site: Kirby, the theme and starter content already wired together. Unzip it, run it with php -S localhost:8000 kirby/router.php if you have no web server, open /panel and create your account.
Already have a Kirby site? Install the theme as a plugin with composer require eddiedale/index-theme, or drop it into site/plugins/index-theme.
Requires PHP 8.2 or newer and Kirby 5. Kirby is free for local development; a live site needs a Kirby licence.
Index is open source under the MIT licence. The code, the full guide and the changelog are on GitHub. A live demo runs at index-theme.sans.supply.