Ghost Scaffolding
This post was archived on .
The content may be old and no longer accurate.

Introduction
I believe that upgrades should be simple, as such, I really hate dealing with zips and messing around in Ghost's core directory just to get the thing updated. Being the lazy developer that I am, I created this mini-project called Slight Ghost - a simple scaffolding for a Ghost blog, optimised for streamlined updates.
Install
Make sure git
and node
is installed before attempting to install slight-ghost
# Ubuntu
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install git node
Installing is as simple as a git clone
. First clone the scaffolding.
cd /var/www/
git clone https://github.com/Silvenga/Slight-Ghost.git ghost
cd ghost
Clone the default theme.
git submodule update --init --recursive
Install Ghost and its dependencies.
npm install
Copy the sample configuration file.
cp config.sample.js config.js
And edit config.js for your own needs.
nano config.js
Note: Make sure to include the paths.contentPath
directive.
Done! Checkout the Upgrade section for information on how to upgrade.
Run
Run slight-ghost
just like the normal installation of Ghost. I recommend using Upstart to keep Ghost running (https://silvenga.com/power-ghost-with-upstart/).
node index.js
Notes:
index.js
will automatically set Ghost intoproduction
mode. Anexport NODE_ENV=production
is not needed. Make sure to change the permissions of the content directory!
Upgrade
Update the base scaffolding and the default theme using git
.
git pull --recurse-submodules
Updated and install any new dependencies using npm
.
npm install
Done! Ghost has been updated to the latest stable revision - no need to deal with those pesky zips.
Advance
Update the content
directory. This is normally not required.
Switch the repository to a scratch branch.
git checkout ghost
Get the latest stable version of Ghost to base the scaffolding off of.
git pull https://github.com/TryGhost/Ghost.git stable
Switch back to our original branch.
git checkout master
Merge the content
directory to the scaffolding.
git checkout ghost -- content
Done! The content
directory should now be updated to the latest version of Ghost.
License
This project is under the MIT license, fork away!