Brief received.
Everything below this line was a sentence first.
This page is the build. It starts as your brief and ends as your website. Nothing in between has been hidden.
- mobile first?
- who signs off?
- ZAR or GBP?
A template never asks you anything.
Six questions that change what gets built. A marketplace theme has already answered all of them, for someone else.
- What is the one thing a visitor must do?
- Which content will actually exist in a year?
- Who edits this on a Friday afternoon?
- What happens on a slow connection in Polokwane?
- Which of your competitors' sites do you dislike, and why?
- What does this need to do that no plugin does?
Structure before decoration.
Boxes, order, and hierarchy — decided while they're still cheap to change. Every label below is a real element on this page.
A system, not a skin.
Nine tokens, five registers, two modes. The values on this page are read from the theme's own configuration — change one and this section changes with it.
#0B0C0E#131519#EDEEF0#949AA3#F0A030Then it becomes files.
This is the actual template hierarchy of the theme you're looking at. Not a diagram of one.
- templates/
- 404.html
- archive.html
- front-page.html
- index.html
- page.html
- search.html
- single.html
- parts/
- footer.html
- header.html
- production-rail.html
- blocks/
- geo-greeting/
- block.json
- index.js
- render.php
- style.css
- stage-scrubber/
- block.json
- index.js
- render.php
- style.css
- stage-section/
- block.json
- index.js
- render.php
- style.css
- geo-greeting/
- inc/
- blocks.php
- class-assets.php
- geo/
- class-geo-client.php
- class-geo-ip.php
- class-geo-rest.php
- patterns.php
- setup.php
- styles/
- light.json
- night.json
- css/
- stages.css
- tokens.css
- js/
- geo.js
- mode.js
- perf.js
- scrubber.js
- theme.json
- style.css
- functions.php
theme.json
{"$schema": "https://schemas.wp.org/trunk/theme.json","version": 3,"settings": {"appearanceTools": true,"useRootPaddingAwareAlignments": true,"layout": {"contentSize": "76rem","wideSize": "88rem"},"color": {"custom": false,"customGradient": false,"defaultPalette": false,"defaultGradients": false,"palette": [{"slug": "edznet-surface","name": "EDZNET Surface","color": "#0B0C0E"},{"slug": "edznet-surface-2","name": "EDZNET Panel",
inc/setup.php
<?php/*** Theme setup: supports, enqueues, editor styles, mode bootstrap, geo wiring.** @package edznet-proof*/defined( 'ABSPATH' ) || exit;/*** Register theme supports.*/function edznet_proof_setup(): void {add_theme_support( 'title-tag' );add_theme_support( 'automatic-feed-links' );add_theme_support( 'post-thumbnails' );add_theme_support( 'responsive-embeds' );add_theme_support( 'wp-block-styles' );
And then it's just a website.
Fast, editable, yours. Hosted on infrastructure we run, not resell.
Send it back a stage.
Use the rail on the left. The whole page will re-render at any stage you pick — same content, different point in the build. Press Escape to bring it back.