Hosting the Ghost blog on GitHub
Install Ghost locally
GitHub Pages is a great solution for hosting static website. If you use the Ghost to manage your website, you can install Ghost locally and convert it to a static website in order to host it on Github.
Install Ubuntu virtual machine on Windows(optional)
Install Ghost-CLI
Ghost-CLI is a commandline tool to help you get Ghost installed and configured for use, quickly and easily.
$ npm install ghost-cli@latest -g
Ghost runs as background process and remains running until you stop or restart it. The following are some useful commands:
ghost help
ghost ls
ghost log
ghost stop
ghost start
Install Ghost
$ mkdir my-ghost-website
$ cd my-ghost-website
$ ghost install local
Once the Ghost is installed you can access the website on http://localhost:2368/ghost for Ghost Admin.
Generate the static website
In order to generate the static website, we’ll use the Ghost static site generator. For the Linux and macOS, this tool can be used directly.
$ sudo npm install -g ghost-static-site-generator
Now, we can push the generated static pages to the Github repository named username.github.io.
To generate the static pages, we can run the following command. The static pages are generated in a folder called static.
$ gssg --url https://username.github.io
Push the static pages to Github
Before pushing the static pages to Github, a repository called username.github.io should be created on Github website.
The static pages can be pushed to Github repository as below.
$ cd static
$ git init .
$ git remote add origin https://github.com/username/username.github.io.git
$ git branch -M main
$ git add .
$ git commit -m 'Init my website'
$ git push -u origin main
After the push, Github will build and deploy the pages automatically. And the updated website will be available to access in a few minutes.