How I Created This Blog

02 August 2020 — Written by Dennis Park-Rodriguez

Installing homebrew

Homebrew is a package manger for macOS which will allow you to install and automate useful utilities. Instructions on installation can be found on their the Homebrew Homepage.

xcode-select --install
/bin/bash -c "$(curl -fsSL"

Installing Git

Git is an open source distributed version control system and has become the standard in the industry to work collaboratively with others and keep of your history.

brew install git

Installing NodeJS

NodeJS is an asynchronous event-driven Javascript runtime that allows you to build scalable network applications. Many frameworks and utilities are made to run on the NodeJS runtime. Installation of the runtime also makes npm, or the node package manager, available to the user as well. Detailed installation instructions can be found on NodeJS Install Documentation but with the installation of homebrew installation is as simple as the following:

brew install node

Installing gatsby

Gatsby is a free and open source framework based on React that helps developers build blazing fast websites and apps. Gatsby is great in that it allows you to use GraphQL to query several different data sources. In this example my blog's data source will be static markdown files in the file system. But if we wanted to we can use Wordpress to manage the blog and use GraphQL to query for data and render the blog posts using React.

npm install -g gatsby-cli

Creating Project Using Starter

Gatsby has a great library of starters with allow you to get up and running quickly with a predetermined configuration of data sources and templates. I have found a great starter with a great and clean looking theme and simple support for generating a static site from markdown files. You can find more information on the starter here.

gatsby new gatsby-starter-hello-friend

Deploying Blog to Netlify

How to push blog to github and use netfliy to deploy.

Gatsby on Netlify Guide

Netlify Docs - Assign a domain to a site

Netlify Docs - Configure External DNS