Skip to content

EDZNET PROOF THEME

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.

[H1]
[Copy]
[CTA]
[Footer]

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.

EDZNET Surface#0B0C0E
EDZNET Panel#131519
EDZNET Ink#EDEEF0
EDZNET Ink Muted#949AA3
EDZNET Amber#F0A030
ep-step–1Step -1
ep-step-0Step 0
ep-step-1Step 1
ep-step-2Step 2
ep-step-3Step 3
ep-step-4Step 4
ep-step-5Step 5
ep-step-6Step 6

Then 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
  • 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.

Start a brief

transferred
requests
ready

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.