I’ve been a blogger since 2002. I originally started blogging on Blogger but quickly outgrew the limited customization options it had at the time. I moved to a self-hosted version of Wordpress and haven’t looked back since. There have been moments where I wanted to switch to a CMS or platform that was less bulky but never found a suitable replacement. That is, until I found Jekyll.

Jekyll is a static site generator and it uses Ruby to generate the HTML for the website. Template pages are based off of the Liquid templating system and all of my blog posts are written in Markdown. When I want to update my site, I just create a new file.

Instead of going with another host (I started on Dreamhost, moved to Digital Ocean) I decided to try Github Pages. Their version of Jekyll does all the hardwork for me. When I want to update my site I just create a file and commit and sync to update the site. Plus, Github Pages is free. Yeah, like, $0.

So what you see is Jekyll, hosted on Github Pages. That minimal theme? Lanyon. Instead of creating a Jekyll site from scratch, I was able to fork Lanyon’s Github repository. It comes with all of the files needed to create a complete site and all of them are easy to tweak to customize.

Getting started with Github pages is super simple. Like I said, I just forked the Lanyon repository. Once you fork it and create a repository of your own, you need to name it username.github.io where username is your github username, otherwise Github won’t recognize that it needs to host your site. For example, my repository is janastasia.github.io. If you want to use a custom domain, no problem, we can change those settings later.

Configuring a Custom Domain

In your repository, you’ll see a file called CNAME. If you want to use a custom domain, like jessanastasia.co then you need to update your CNAME file.

Once your CNAME is updated, you need to update your DNS settings with your domain registrar. In your DNS settings, add two A records. Host will be blank for both records. In the Answers box for your first A record, put 192.30.252.153 and in the second Answers box put 192.30.252.154. The TTL box defaults to 300 on name.com but I always change it to 1800. See this exchange for my reasoning (also, I’m not an expert, I just listen to them).

Caveats

I use name.com to register and manage my domains so this is specific to them. If you use another domain registrar just Google how to set up Github Pages with them. This also only covers using an APEX domain, like jessanastasia.co. If you are using a subdomain, including www, then the instructions will be different. Your first stop should be the GitHub Pages help page about custom domains.

Further Help?

If you feel like venturing off and creating your own site using Jekyll and Github pages but need some help, reach out to me via Twitter. I am extremely busy with both work and school so if I am presented with an opportunity to procrastinate I will.

jessanastasia.co

I’ve had this domain for awhile now, holding onto it so that I could eventually use it as a portfolio of sorts. I figured that now would be the perfect time to launch it since I headed back to school. I can showcase my coursework here as well as whatever else I decide should end up in my portfolio. There will be a blogging component to this, of course, but I will mainly try to focus on things that are relevant to my coursework (programming, political science, data) as well as photography.

For the record, I don’t recommed learning Java and R at the same time. The logic and grammar between the two are completely different and switching between them quickly gets confusing. If you’re a programmer, or plan to be one, this is a nice list of all the languages that will get you high-paying jobs.