mage-obsidian / theme-default
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!
Requires
- mage-obsidian/module-checkout: ^3.10
- mage-obsidian/theme-base: ^3.13
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-master
- 3.21.1
- 3.21.0
- 3.20.0
- 3.19.0
- 3.18.0
- 3.17.0
- 3.16.2
- 3.16.1
- 3.16.0
- 3.15.0
- 3.14.0
- 3.13.0
- 3.12.1
- 3.12.0
- 3.11.0
- 3.10.0
- 3.9.1
- 3.9.0
- 3.8.2
- 3.8.1
- 3.8.0
- 3.7.0
- 3.6.0
- 3.5.1
- 3.5.0
- 3.4.5
- 3.4.4
- 3.4.3
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.1
- 3.3.0
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.0
- 2.4.0
- 2.3.1
- 2.3.0
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.0
- 2.0.1
- 2.0.0
This package is auto-updated.
Last update: 2026-09-09 01:52:00 UTC
README
๐ 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. โค๏ธ