Files
2026-07-20 22:00:45 -07:00

2.5 KiB

Novaconium PHP

A Hugo-flavored PHP framework. Routes are directories on disk, pages render with Twig, and any page that needs real logic gets an optional PHP "sidecar" file. Pages without a sidecar are pre-rendered once and served as static HTML straight from Apache afterwards.

For a full tour of what's included — routing, sidecars, caching, admin auth, access control, media manager, database, search, RSS, and more — see the Novaconium Features post once the site is running, or /admin/docs (see Documentation below).

Getting started

Requirements:

PHP 8.1+ (uses readonly constructor-promoted properties) and, for production, Apache with mod_rewrite and AllowOverride All. A few optional features (database, content index/search, admin authentication) need the pdo_sqlite extension — see /admin/docs for details once running.

Development

Run it locally, no Apache needed:

php -S 127.0.0.1:8000 -t public public/router.php

Visit http://127.0.0.1:8000/ — click around the example pages, then open http://127.0.0.1:8000/admin/docs for the complete documentation, rendered live from this same instance.

Production

docker compose up -d
root@b2c4133264c6:/var/www/html# php novaconium/bin/create-admin-user.php nick c@nickyeoman.com

Webmasters

  • Clone this repo.
  • docker build: docker build -t novaconium .
  • docker compose up -d

Documentation

The full framework documentation lives inside the framework itself, at /admin/docs on any running instance — so it travels with the code, no internet connection needed. That's the canonical reference for everything: requirements, running locally, deploying on Apache or Docker, starting a new project, updating the framework, adding a page, routing, sidecars, libraries, database, session, content index, XML sitemap, RSS feeds, layouts, static caching, SEO, Matomo analytics, admin authentication, access control, draft pages, media manager, styling, and project layout.

AGENTS.md is the short, agent-facing version for coding assistants working in this repo, and novaconium/ISSUES.md is the roadmap/backlog.

Third-party

Twig is vendored in source form under novaconium/vendor/twig/ (no Composer — see /admin/docs/upgrading-twig for how to upgrade it). It's BSD-3-Clause licensed; the full license text ships alongside it at novaconium/vendor/twig/LICENSE.