Demo Version: https://abhijithvijayan.github.io/ghost-blog-demo/
Install Python 2
Install Python 2.X, because buster package doesn't support Python 3.
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python2.7
Install NodeJS
Install a version that is officially supported by Ghost, just like Node v6.9 or Node v8.9.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Install npm
NodeJS package manager from https://nodejs.org/en/
sudo apt install npm
Install Brew
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
Ghost is written in Node.js, so you will need the Node.js runtime.
brew install node
brew install wget
sudo apt-get install build-essential
Initialize npm
npm init
Enter the credentials when asked
- github username in the name field*
- repository name(eg: username.github.io)
- a description*
Leave the other less important fields empty.
Then run
npm install --production
Install yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
With the tool Buster you can export the Ghost blogs into static pages.
First we install Buster with:
brew install python
sudo apt install python-pip
pip install --upgrade pip
sudo -H pip install buster
mkdir ghost && cd ghost
sudo npm install ghost-cli@latest -g
Empty the present working directory
sudo rm -r *
Install Ghost
ghost install local --no-start --enable --port 2368
ghost start
Open browser and navigate to
http://localhost:2368/
http://localhost:2368/ghost/
Go to the above link in your browser ans if it doesn't show anything, check the status of the blog with
ghost status
Create an account, read the intial blog post how to edit with Markdown etc.
See the GitHub Pages Basics Documentation for details.
You must use the username/username.github.io
naming scheme. The repo name must be lower case even if your username has upper case letters.
Create a file named deploy.sh
with contents from deploy.sh
Give execute permission
chmod u+x deploy.sh
Deploy with
./deploy.sh
For the initial push, please wait up to 10 minutes until GitHub deploys your subdomain.
All upcoming pushes are much faster and you can see your static ghost blog posts at https://username.github.io
To write new Blog posts or update the existing ones, just start Ghost, edit, then generate and deploy the static pages.
cd ghost
ghost start
Visit
http://localhost:2368/ghost/
Login and write new posts
After writing new posts, deploy with buster. Run the deploy.sh script/.
./deploy.sh
Enter the credentials when asked!
- Live Version: https://abhijithvijayan.github.io/ghost-blog-demo/
- Demo Repo: https://github.com/abhijithvijayan/ghost-blog-demo
- Custom Theme Repo: https://github.com/abhijithvijayan/Casper-XYZ