{% extends layout %} {% import '_layout/icons.twig' as icons %} {% block title %}About{% endblock %} {% block description %}How this site is built: Novaconium, a tiny PHP micro-framework with file-based routing, Twig templates, and static caching.{% endblock %} {# Every block below is optional — the layout already supplies a sensible default for each (see /admin/docs/seo). Shown here uncommented as a reference for every override a page can make; delete what you don't need. #} {% block robots %}index, follow{% endblock %} {% block canonical %}{{ request_path|default('/') }}{% endblock %} {% block og_type %}website{% endblock %} {% block og_title %}{{ block('title') }}{% endblock %} {% block og_description %}{{ block('description') }}{% endblock %} {% block og_url %}{{ block('canonical') }}{% endblock %} {% block twitter_card %}summary{% endblock %} {% block twitter_title %}{{ block('title') }}{% endblock %} {% block twitter_description %}{{ block('description') }}{% endblock %} {% block content %}

About

This site runs on Novaconium, a tiny PHP micro-framework built around one idea: a directory on disk is a route. There's no router configuration to maintain, no ORM, and no Composer — Twig is the only dependency it has, and it's vendored directly into the repo as plain source files rather than pulled in through a package manager.

Pages render with Twig and are optionally backed by a PHP "sidecar" — a plain index.php file that supplies template data, or short-circuits templating entirely by returning a redirect, JSON, or raw HTML. Pages with no sidecar are pure and deterministic, so they're rendered once and served straight from Apache as static HTML on every later request, with no PHP or Twig overhead at all.

Everything the framework itself ships — default pages, default library classes, the root layout — lives under novaconium/, and can be overridden by placing a same-named file under App/, the only directory a site author is expected to touch. The same override mechanism covers configuration, too: any key in novaconium/config.php can be replaced piecemeal from App/config.php.

Beyond routing and templating, Novaconium ships with SEO meta tags (canonical links, Open Graph, Twitter Card), optional Matomo analytics with automatic 404 tracking, and an HTTP Basic Auth gate reusable across every /admin/* page — all off or sensible by default, and all documented at {{ icons.book() }}/admin/docs, rendered live from this same running instance rather than a separate website.

It's a good fit for small marketing sites, blogs, and internal tools where a full framework would be overkill but a flat-file site generator alone falls short of real server-side logic. The source is on Git if you want to see how it's put together: {{ icons.git() }}git.4lt.ca/4lt/novaconium.

{% endblock %}