This is the tech I use to build this blog.
Jekyll is a static site generator. I write my posts in Markdown and it converts them into HTML. This means that my site doesn’t have a database: it’s just plain HTML files sitting in a server directory. It’s fast, secure, can easily stand up to traffic, and it’ll survive forever (no true dependencies other than the ability to read HTML).
In the past, I used Gatsby (a React-based site generator). I love React. But part of being good at React is knowing when you don’t need to use it. I felt that it was overkill for running a simple blog. I didn’t want to load a 50 KB dependency just for my content to appear – it would be like pouring a foundation for another foundation. With Jekyll, my page size is only around ~18 KB compared to my old Gatsby site which was about ten times that.
I’ve also used WordPress, but it was slow, expensive to host, needed updates every week, provided more surface area for hackers, and had a bad post editor. I didn’t appreciate the bloat.
When I feel like writing a post, I just open my terminal and type
blog. I’ve set up an alias which makes this command spin up a Jekyll server1, open my browser to localhost:4000, and open my text editor.
GitHub and GitHub Desktop
I push to GitHub via GitHub Desktop. It’s a simple tool with less features than something like Sourcetree, but I like it. When I push to GitHub, my host (Netlify) automatically detects that there’s a new change to
master and rebuilds the site within seconds. Boom. Live everywhere.
Netlify is my host. It’s free, and I enjoy it much more than GitHub Pages. It was also dead simple to set up – you connect it to GitHub and it just works. In addition, they provide me with ultra-simple DNS management and one-click HTTPS.
For my side projects, like markets.zeph.co, I push to a separate GitHub repo. I’ve set up subdomains within Netlify (which, again, is super easy). Netlify takes care of building anything from my Jekyll site to my React apps and hosts them on my subdomains.
I just started using iA Writer to write my posts. It has a library tab that loosely functions like a code editor’s file explorer so I can easily navigate through my posts. I’m happy with it so far, although it can be a pain while I’m editing posts with code in them.
I prefer the design of Atom, but VS Code’s speed and reliability makes it hard to beat. That’s why I use it as my daily editor. If Atom got a performance boost, I’d go back in a heartbeat.