imagewize / aviendha
A lean full-site-editing starter theme for WordPress by Jasper Frumau
Package info
Language:CSS
Type:wordpress-theme
pkg:composer/imagewize/aviendha
Requires
- php: >=8.0
Requires (Dev)
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-04 08:47:31 UTC
README
Aviendha
A lean full-site-editing starter theme for WordPress.
Description
Aviendha is a full-site-editing (FSE) WordPress starter theme. It provides a solid design system via theme.json (colors, typography, spacing, layout), WooCommerce block templates, and style variations, but ships no bundled patterns — pages are composed directly from blocks. It is intended as a base theme to fork from, similar to Sage in the classic theming world.
Unlike Imagewize's Elayne theme, Aviendha is minimal by design. It pairs with the Aludra block library (mega menu, carousel, FAQ tabs, and more), but doesn't require it — the theme is a plain block theme that works with core blocks and any block plugin.
Lineage: Aviendha is a companion starter theme to Imagewize's Elayne and Nynaeve themes, and serves as the base for themes like Ixian. Like Elayne, it ships no custom blocks of its own — content blocks come from the shared Aludra plugin, per WordPress.org's theme-review rules. (Nynaeve is a separate case: it registers its own blocks and doesn't use Aludra.)
Requirements
- WordPress 6.6+
- PHP 8.0+
- WooCommerce (optional, for store templates)
- Aludra plugin (recommended, not required)
Features
- Starter theme foundation — designed to be forked and customized, with a clean separation of concerns and no opinionated patterns that would need removal
- Design system —
theme.jsondefines the color palette, typography, spacing, and border radii; color/spacing slugs match what Aludra's own block styles expect (base,contrast,secondary,main,primary,accent,tertiary,border-light) - WooCommerce templates —
templates/single-product.html,templates/archive-product.html,templates/product-search-results.html, andtemplates/coming-soon.htmlare theme-provided; cart, checkout, and category-archive templates fall back to WooCommerce's own block-theme defaults. The product archive and search results ship a results count, catalog sorting, a filters sidebar (price, category, availability, rating) and an empty state; the single product template uses the block-based add to cart, with theme layouts for simple and variable products inparts/. The coming-soon template wraps WooCommerce's coming-soon block with the theme's header and footer. - Degrades gracefully without WooCommerce — with the plugin inactive, the store templates and the header's mini cart are filtered out rather than left to render as unsupported blocks. WooCommerce's own bundled
woocommerce-blocks/*patterns are unregistered when it is active — the theme neither designed nor styles them, and they crowd out core's. - Two page templates —
page.html(default) omitspost-titlesince most pages get their title from a block's own heading;page-with-title.html(selectable per-page under Page → Template) adds the conventional title treatment. - Style variations — see
styles/(e.g.twilight.json) for alternate color palettes on top of the same design system. - No bundled patterns — block-first composition. Core's own patterns stay registered, so the inserter is never empty; insert
aludra/*blocks (or core blocks) directly into pages and templates, then add your own patterns as needed.
Forking this theme
Aviendha is a GitHub template repository. Press Use this template → Create a new repository, then in the new repo run Actions → Rename theme from template → Run workflow. GitHub fires no workflow event when a repository is created from a template, so this one step is manual; everything after it is not.
The workflow opens a pull request replacing every mechanical aviendha/Aviendha identifier with your repository's name — CSS class prefixes (aviendha-header, aviendha-eyebrow, …), the PHP namespace and aviendha_* function prefix, the text domain, the PHPCS prefix rule, the Composer and npm package names, and the logo SVG filenames. Review the PR and merge it. It carries no CI checks: pull requests opened with the default GITHUB_TOKEN don't trigger workflow runs, so Theme Check and WPCS first run on the push to main once you merge.
If the run fails to open a pull request, enable Settings → Actions → General → Allow GitHub Actions to create and approve pull requests in the new repository and run it again.
A single-word repository name (ixian) maps cleanly. A hyphenated one (blue-desert) yields bluedesert_setup() and Theme Name: BlueDesert — valid, but fix the human-readable name in style.css by hand.
The rename deliberately skips this README, CHANGELOG.md, readme.txt and the agent guides, which should still name Aviendha as the theme's lineage. Finish the fork by hand:
- Rewrite
README.md,readme.txtandCHANGELOG.mdfor the new theme, and reset the version to1.0.0instyle.css,readme.txt,package.jsonandCHANGELOG.md - Repoint the logo paths in those skipped files. The workflow renames
assets/logos/aviendha-rose-*.svgbut not the references to them, so the README's header image (<img src="assets/logos/aviendha-rose-primary.svg">) renders broken, and the credits section ofreadme.txt— which does ship in the theme zip — cites paths that no longer exist. - Update the
style.cssheader — Theme Name, Theme URI, Description, Tags - Replace
screenshot.pngand the rose mark inassets/logos/(the workflow renames those files but cannot redraw them) - Give the theme its own palette in
theme.json, or add astyles/*.jsonvariation - Add a
patterns/directory if the fork needs one — the@imwz/wp-pattern-sentinelharness and thenpm run validatescripts are already wired up for it
Structure
aviendha/
├── style.css # Theme header (metadata only)
├── theme.json # Design system: color, typography, spacing, layout
├── functions.php # Theme setup, 'menu' template part area, WooCommerce hooks
├── templates/ # FSE templates (index, single, page, page-with-title, archive, search, 404, WooCommerce: single-product, archive-product, product-search-results, coming-soon)
├── parts/ # header.html, header-dark.html, footer.html, add-to-cart layouts
├── styles/ # Style variations
├── assets/
│ ├── logos/ # Rose logo mark (SVG)
│ └── css/ # WooCommerce override stylesheet (enqueued conditionally)
├── docs/ # Contributor notes (not shipped in the theme zip)
└── languages/ # Translations (text domain: aviendha)
Theme Integration for Aludra
The Aludra mega-menu block requires its host theme to register a menu template part area. Aviendha does this in functions.php via the default_wp_template_part_areas filter, so mega menu template parts created in the Site Editor appear under Appearance → Editor → Patterns → Template Parts → Menus.
Development
composer install composer run lint # php-parallel-lint syntax check composer run wpcs:scan # PHPCS against phpcs.xml composer run wpcs:fix # PHPCBF auto-fix
No JS build step is required — the theme ships no bundled JavaScript.
License
GNU GPL v3 (or later). See LICENSE.md.