Built with Kawhi

Start with one route folder. Grow into reusable pieces when the site earns them.

This scaffold keeps the default page local: edit public/index.php, tweak public/page.css, and add route folders like public/contact/index.php when you need more pages.

Simple edits stay simple

my magic site

Keep straightforward content inside the route entrypoint. If the page grows, split it into route-local _partials/ or a small logic.php beside the page.

Shared only after reuse

Promote code to _site/ when it is genuinely shared

Use _site/components/ or _site/lib/ for code that serves more than one route, not for every small piece of markup.

htmx-first interactions

Keep form handlers close to the page they belong to

When a page needs interaction, prefer a route-local handler like public/contact/submit.php so the full feature stays easy to inspect.

Start here

Make this site yours

Update _site/site_config.php for your site identity, then add or edit route folders under public/. If a page needs custom styling, create a local page.css beside it.

Add a page Create public/about/index.php for /about/.
Add styling Create public/about/page.css and it will load automatically.
Add interaction Use htmx with a local handler such as public/about/submit.php.