diff --git a/README.md b/README.md index 11f8aba..6fdd932 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,30 @@ Visit `http://127.0.0.1:8000/` for the static home page, then click around — ` Point the vhost's document root at `public/`, make sure `mod_rewrite` is enabled and `AllowOverride All` is set for that directory so `public/.htaccess` takes effect, and it just works — no build step required. +### Starting a new project + +Clone this repo and drop its Git history — no Composer scaffold or installer: + +``` +git clone --depth 1 my-new-project +cd my-new-project +rm -rf .git && git init && git add -A && git commit -m "Initial commit from novaconium template" +``` + +Then replace the example content under `App/pages/` with your own; leave `novaconium/` and `public/` alone. + +### Updating the framework + +Since the framework core lives entirely under `novaconium/`, pick up a new release by overwriting just that directory against a tag and committing the diff: + +``` +git clone --depth 1 --branch /tmp/nova-update +rm -rf novaconium && cp -r /tmp/nova-update/novaconium ./novaconium && rm -rf /tmp/nova-update +git add novaconium && git commit -m "Update novaconium framework to " +``` + +Safe by construction — `App/` always overrides `novaconium/`, so an update can't clobber project customizations. See [Getting started](http://127.0.0.1:8000/admin/docs/getting-started) for the full write-up. + ### Add a page Create a directory under `App/pages/` with an `index.twig` — the directory path *is* the URL: diff --git a/novaconium/pages/admin/docs/getting-started/index.twig b/novaconium/pages/admin/docs/getting-started/index.twig index 09cb3e6..366321d 100644 --- a/novaconium/pages/admin/docs/getting-started/index.twig +++ b/novaconium/pages/admin/docs/getting-started/index.twig @@ -26,6 +26,32 @@

Point the vhost's document root at public/, make sure mod_rewrite is enabled and AllowOverride All is set for that directory so public/.htaccess takes effect, and it just works — no build step required.

+

Starting a new project

+ +

Clone this repo and drop its Git history — that's it, there's no Composer scaffold or installer:

+ +
git clone --depth 1 <novaconium-repo-url> my-new-project
+cd my-new-project
+rm -rf .git
+git init
+git add -A
+git commit -m "Initial commit from novaconium template"
+ +

Then replace the example content that ships under App/pages/ (the about/blog/contact sample pages) with your own pages, lib classes, and config. Leave novaconium/ and public/ as-is.

+ +

Updating the framework

+ +

Because the framework core lives entirely under novaconium/ — separate from your project's App/ — picking up a new release is a matter of overwriting that one directory and committing the diff:

+ +
git clone --depth 1 --branch <release-tag> <novaconium-repo-url> /tmp/nova-update
+rm -rf novaconium
+cp -r /tmp/nova-update/novaconium ./novaconium
+rm -rf /tmp/nova-update
+git add novaconium
+git commit -m "Update novaconium framework to <release-tag>"
+ +

This is safe by construction: the override-by-path design means App/ always wins over novaconium/ for pages, lib classes, and Sass colors (see Project layout), so an update can't clobber your project's customizations. Diff before committing to see what changed, and run php novaconium/bin/clear-cache.php afterward since a framework update can change rendered output.

+

Adding a new page

Create a directory under App/pages/ with an index.twig — the directory path is the URL (see Routing). SEO has a ready-to-paste starter template with every overridable block (title, description, Open Graph, Twitter Card) plus a content stub — copy it in and fill in the blanks.