Sidecar-less page bundles whose directory ends in a MediaType extension
(.txt/.css/.xml/.json/.js) now render raw (no HTML layout, autoescape off),
are served with that extension's Content-Type, and cache as a flat file
(public/cache/<path>) so Apache serves them directly via a new .htaccess
rule. They're excluded from the content index.
CSS becomes one of these: novaconium/pages/css/main.css/ holds index.twig
({{ sass('main.sass') }}), main.sass, and _colors.sass. App\SassExtension's
sass() Twig function resolves the entry file through the overlay and shells
out to Dart Sass on a cache miss; Lib\SassCompiler wraps the CLI. This
drops the committed App/css/main.css build artifact and the public/css
bind mount. Override styling by copying the whole bundle to App/pages/.
Also ship robots.txt and humans.txt as framework bundles, and drop the
php -S dev router (public/router.php) - Docker/Apache only now.
New: novaconium/src/MediaType.php, SassExtension.php, lib/SassCompiler.php.
Moved: novaconium/sass/ -> novaconium/pages/css/main.css/ (+ App/sass merged).
Docs: AGENTS.md, new /admin/docs/text-pages, and styling/caching/docker/
design-notes/getting-started/project-layout/config docs updated.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018Q9cAXC9xcXYnmP7qjsnw7
23 lines
742 B
YAML
23 lines
742 B
YAML
services:
|
|
web:
|
|
image: ${NOVACONIUM_IMAGE:-4lights/novaconium:2.0.0-beta}
|
|
ports:
|
|
- "8080:80"
|
|
volumes:
|
|
- ${PROJECT_PATH:-/data}:/var/www/html/App
|
|
- ${VOL_PATH:-/data}/novaconium/cache:/var/www/html/public/cache
|
|
- ${VOL_PATH:-/data}/novaconium/uploads:/var/www/html/public/uploads
|
|
- ${VOL_PATH:-/data}/novaconium/data:/var/www/html/data
|
|
|
|
# Optional — only needed if App/config.php adds a db_connections entry
|
|
# with driver: mysql. See /admin/docs/database.
|
|
# db:
|
|
# image: mysql:8
|
|
# environment:
|
|
# MYSQL_DATABASE: novaconium
|
|
# MYSQL_USER: novaconium
|
|
# MYSQL_PASSWORD: change-me
|
|
# MYSQL_ROOT_PASSWORD: change-me
|
|
# volumes:
|
|
# - mysql-data:/var/lib/mysql
|