Search by

mage-obsidian / theme-default

jeanmarcos-dev

MageObsidian Obsidian storefront theme: the default skin built on top of theme-base.

Package info

github.com/mage-obsidian/theme-default

Language:Twig

Type:magento2-theme

pkg:composer/mage-obsidian/theme-default

Fund package maintenance!

Ko Fi

Statistics

Installs: 108

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

3.21.1 2026-09-09 01:51 UTC

README

Latest Version License

Star MageObsidian

๐Ÿ“š Documentation ยท ๐Ÿš€ Live demo ยท ๐Ÿ’ฌ Discussions

OBSIDIAN โ€” the default MageObsidian storefront theme for Magento 2, built with Vite, Tailwind CSS 4, Vue islands and Twig components. See it live at the demo store (Lighthouse 100/100/100/100).

Where the verification lives

This theme's end-to-end suite and the registers that went with it now live in mage-obsidian/storefront-verification. They were never only about this theme: almost every finding they carry is about the platform's layout handles and the nineteen storefront modules, and the escaping register classifies theme-base templates too โ€” keeping them here made one component own the record of the whole product.

Every register that repository generates pins the revision of this one and of theme-base, so a change here shows up over there instead of quietly invalidating it.

Installation

composer require mage-obsidian/theme-default
bin/magento setup:upgrade
bin/magento mage-obsidian:frontend:config --generate

Then rebuild your theme (mage-obsidian:build-themes). Full guide: documentation.

Why four templates are still .phtml

The theme is Twig throughout, with four deliberate exceptions. Each one exists to fix a defect in the core template it replaces, and each says so in its own header:

Template What it fixes
Magento_Msrp::product/price/msrp.phtml The native MAP popup needs RequireJS; its inline scripts leak as visible text. Re-expressed as a native <details>.
Magento_OfflinePayments::info/checkmo.phtml The native template emits a <dl> with no <dd> unless the check details are configured โ€” a WCAG 1.3.1 violation axe flags.
Magento_Weee::pricing/adjustment.phtml The FPT label lives only in data-label and needs the core Weee JS, which this stack suppresses. Rendered as visible text instead.
Magento_Newsletter::subscribe.phtml Restyled for the dark footer.

Migrating one to Twig without carrying its fix across reintroduces the defect.

Support the project

If MageObsidian saves you time, consider buying me a coffee. โค๏ธ