Document how to start and update a project in Getting started docs
Add clone-and-drop-.git setup steps and a tag-and-overwrite recipe for updating just novaconium/, mirrored in README.md and /admin/docs/getting-started.
This commit is contained in:
@@ -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 <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 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 <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>"
|
||||
```
|
||||
|
||||
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:
|
||||
|
||||
@@ -26,6 +26,32 @@
|
||||
|
||||
<p>Point the vhost's document root at <code>public/</code>, make sure <code>mod_rewrite</code> is enabled and <code>AllowOverride All</code> is set for that directory so <code>public/.htaccess</code> takes effect, and it just works — no build step required.</p>
|
||||
|
||||
<h2>Starting a new project</h2>
|
||||
|
||||
<p>Clone this repo and drop its Git history — that's it, there's no Composer scaffold or installer:</p>
|
||||
|
||||
<pre><code>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"</code></pre>
|
||||
|
||||
<p>Then replace the example content that ships under <code>App/pages/</code> (the <code>about</code>/<code>blog</code>/<code>contact</code> sample pages) with your own pages, lib classes, and config. Leave <code>novaconium/</code> and <code>public/</code> as-is.</p>
|
||||
|
||||
<h2>Updating the framework</h2>
|
||||
|
||||
<p>Because the framework core lives entirely under <code>novaconium/</code> — separate from your project's <code>App/</code> — picking up a new release is a matter of overwriting that one directory and committing the diff:</p>
|
||||
|
||||
<pre><code>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>"</code></pre>
|
||||
|
||||
<p>This is safe by construction: the override-by-path design means <code>App/</code> always wins over <code>novaconium/</code> for pages, lib classes, and Sass colors (see <a href="/admin/docs/project-layout">Project layout</a>), so an update can't clobber your project's customizations. Diff before committing to see what changed, and run <code>php novaconium/bin/clear-cache.php</code> afterward since a framework update can change rendered output.</p>
|
||||
|
||||
<h2>Adding a new page</h2>
|
||||
|
||||
<p>Create a directory under <code>App/pages/</code> with an <code>index.twig</code> — the directory path <em>is</em> the URL (see <a href="/admin/docs/routing">Routing</a>). <a href="/admin/docs/seo">SEO</a> 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.</p>
|
||||
|
||||
Reference in New Issue
Block a user