This blog is an attempt to keep track of and organize a variety of my personal projects. I'm hoping that by starting this blog it will encourage me to finish what I actually start! This blog is the first on my list.
A few of the things on my list:
- Ghost/Github Blog
- Deck of Cards API vanilla node app
- Record Cataloger Meteor App
- Meteor 1000 Books by Kindergarten Meteor App
- Sudoku Solver
- Freeflow Solver
- Crafty Spending App with Charlestronauts
How was this blog built?
This blog was built using ghost-render.
Using github's pages to render the final blog, locally I am writing these posts in markdown, which is ideal. It was rather tricky to set up however. There were a couple unintuitive things I needed to do in order to get the repo working perfectly. I will try and review the process I went through. Some steps may be basic, but it will be best to be thorough for all audiences. (that's being optimistic!)
Step 1: Create username repo
Since I wanted to host the blog with github, this step was the easiest. Creating
a repo called
username.github.io will automatically created a hosted static website
to display your website.
Step 2: Setting up the local environment
git clone <username.github.io repo> cd <username.github.io repo>
Once inside this repo follow the instructions for ghost-render.
I decided to do the entire process within a folder called chris_potter_blog/ in the repo.
I will recount them here for good measure.
npm install -g ghost-render ghost-render --init > settings.json
I decided the theme(s) should be organized into their own folder for cleanliness. I decided to try and jump between themes for testing. Each theme I decided to fork into my personal repo so that I could make changes and commit those changes to my own theme.
I decided to write my own bash script to compile my blog. Creating the script is simple:
touch compile chmod +x compile
within that file I added the following code:
#!/bin/bash ghost-render --input ./blog/ --settings ./settings.json --theme ./themes/Swaggy-Bastard --output ./rendering
sh compile within the chris_potter_blog folder will create the rendering/
folder with the contents of the blog. Once this is complete, from the base folder
of the repo, run
ln -s chris_potter_blog/rendering/* . touch .nojekyll
I decided to symlink the information in the rendering folder to try and keep the repo relatively clean and tidy for the build process. If you feel this is overkill, then don't do it!
The final issue lies with the themes repos declared under the themes folder. Git
considers these sub-repos of the blog. So I needed to
touch .gitmodules and within
that file have:
[submodule "chris_potter_blog/themes/Swaggy-Bastard"] path = chris_potter_blog/themes/Swaggy-Bastard url = https://github.com/cpotter/Swaggy-Bastard.git