Skip to content

Repository files navigation

Aviendha Logo

Aviendha

Total Downloads Latest Stable Version License Theme Check

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 systemtheme.json defines 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 templatestemplates/single-product.html, templates/archive-product.html, templates/product-search-results.html, and templates/coming-soon.html are 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 in parts/. 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 templatespage.html (default) omits post-title since 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.txt and CHANGELOG.md for the new theme, and reset the version to 1.0.0 in style.css, readme.txt, package.json and CHANGELOG.md
  • Repoint the logo paths in those skipped files. The workflow renames assets/logos/aviendha-rose-*.svg but 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 of readme.txt — which does ship in the theme zip — cites paths that no longer exist.
  • Update the style.css header — Theme Name, Theme URI, Description, Tags
  • Replace screenshot.png and the rose mark in assets/logos/ (the workflow renames those files but cannot redraw them)
  • Give the theme its own palette in theme.json, or add a styles/*.json variation
  • Add a patterns/ directory if the fork needs one — the @imwz/wp-pattern-sentinel harness and the npm run validate scripts 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.

About

Lean full-site-editing starter theme for WordPress — a theme.json design system, WooCommerce block templates, and style variations, with no bundled patterns. Built to be forked and customized, the way Sage is in classic theming. WordPress 6.6+, PHP 8.0+, GPL.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages