blush-dev / blush
The site project for X3P0, a CMS that keeps its data in files by default.
No longer found in upstream repository
Requires
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-18 14:58:14 UTC
README
X3P0 is a flat-file CMS under heavy development. This repository is the site
project you fork and customize; the framework lives in
x3p0-dev/cms.
The master branch builds toward 1.0.0.
Layout
| Path | What it holds |
|---|---|
config/ |
Typed PHP config objects (never under user/). |
user/content/ |
Markdown, HTML, and data entries. |
user/media/ |
Images, audio, video, and documents. |
user/data/ |
Content types, relationships, menus, redirects, settings, and other editable data. |
public/ |
The only servable directory: index.php, .htaccess, and published assets. |
.htaccess |
Forwards every request into public/. |
src/ |
The site's own classes (App\). |
storage/ |
Caches, logs, and exports. Not committed. |
bin/x3p0 |
The command-line tool. |
Getting started
composer install- Copy
.env.exampleto.envand adjust it. - Serve it:
- Shared hosting (Apache): upload the whole project into your web
root (such as
public_html). The root.htaccessserves everything frompublic/, and nothing else in the project can be requested. If your host lets you point the domain atpublic/, that works too. - Outside the web root (more locked down): upload the project
somewhere the web can't reach (such as
~/x3p0), and copy only the contents ofpublic/intopublic_html. In that copy ofindex.php, set$rootto the project path and passpaths: ['public' => __DIR__]toHttpRunner. - nginx: point the server's
rootatpublic/; seenginx.conf.example. nginx ignores.htaccess, so don't serve the project root itself. - DDEV:
ddev start, then open https://x3p0.ddev.site. It runs Apache with the project root as the web root, just like shared hosting. - Built-in server:
bin/x3p0 serve, then open http://127.0.0.1:8000.
- Shared hosting (Apache): upload the whole project into your web
root (such as
During development the framework is required from a sibling checkout
(../cms) through a Composer path repository.