A minimalist WordPress theme with full IndieWeb support, microformats2 markup, ActivityPub compatibility, and Webmentions integration.
- Microformats2 markup (h-card, h-entry)
- Representative h-card for identity
- Webmentions display and styling
- ActivityPub likes and boosts display
- Syndication links (u-syndication)
- Passes IndieWebify.me validation
- Responsive mobile-first design
- Custom logo and header support
- Custom colours and backgrounds
- Threaded comments with microformats2
- Sticky posts highlighting
- Featured images
- Translation ready
- Footer widget areas (3 sections)
- Custom menus
- Theme customiser integration
- Accessibility features (ARIA labels, screen reader text)
- Dark mode support
- Print styles
- WordPress 5.0 or higher
- PHP 7.4 or higher
- Recommended plugins:
- ActivityPub (v7.4.0+)
- Webmention
- IndieAuth
- Syndication Links
- Download the theme ZIP file from Releases
- In WordPress admin, go to Appearance → Themes → Add New → Upload Theme
- Upload the ZIP file
- Click Install Now
- Activate the theme
cd wp-content/themes/
git clone https://github.com/khurtwilliams/indieweb-minimalist.gitThen activate via Appearance → Themes in WordPress admin.
- Go to Users → Your Profile
- Fill in your Display Name and Biographical Info
- These will appear in your representative h-card
Go to Appearance → Customise:
- Site Identity: Set your site title and tagline
- Custom Logo: Upload your logo (used as u-photo in h-card)
- Social Links: Add up to 5 social profile URLs (will have rel="me")
- Author Bio: Toggle author bio display on posts
- Install and activate the ActivityPub plugin
- Go to Settings → ActivityPub
- Enable "Receive likes" and "Receive reblogs (boosts)"
- Your posts will federate to Mastodon and other Fediverse platforms
- Install and activate the Webmention plugin
- Webmentions will display in the comments section
- The theme provides proper microformats2 markup for webmention discovery
- Install the Syndication Links plugin
- When editing posts, add syndication URLs in the meta box
- Links display with proper u-syndication markup
- Go to Appearance → Menus
- Create a menu and assign it to Primary Menu
- The theme supports nested sub-menus
Go to Appearance → Widgets to add content to three footer widget areas.
This theme passes all IndieWebify.me tests:
- ✅ Representative h-card with photo, name, URL, and bio
- ✅ h-entry markup on posts
- ✅ Author information with h-card
- ✅ Proper syndication links (u-syndication)
- ✅ URL structure (u-url, u-uid)
Test your site at: https://indiewebify.me/
The theme displays Fediverse interactions (likes and boosts) after post content:
- Shows avatar count for likes
- Shows avatar count for boosts
- Avatars link to Fediverse profiles
- Automatically updates as interactions come in
For customisations, create a child theme:
/* Child Theme style.css */
/*
Theme Name: Cornerstone Child
Template: indieweb-minimalist
*/
@import url("../indieweb-minimalist/style.css");
/* Your customisations here */Add custom CSS via Appearance → Customise → Additional CSS
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Mobile browsers
- ARIA labels for navigation
- Screen reader text for hidden elements
- Keyboard navigation support
- High contrast mode support
- Reduced motion support
- Created by Khürt Williams
- Built for the IndieWeb community
- Inspired by IndieWeb principles and the open web
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/improvement) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/improvement) - Create a Pull Request
- Issues: Report bugs via GitHub Issues
- Documentation: See IndieWeb Wiki
- Community: Join IndieWeb Chat
See CHANGELOG.md for version history.
This theme is licenced under the GPL v2 or later.
Copyright (C) 2025 Khürt Williams
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public Licence as published by
the Free Software Foundation; either version 2 of the Licence, or
(at your option) any later version.
See LICENSE for full details.
