Since I don’t work a career in web design or development, I have to utilize my skills whenever and wherever I can lest I lose them. I’ve always wanted to start a blog, but many of the online platforms that allow for this distinctly lack customization or control, or keep these basic features locked behind a pricy paywall. Instead, I opted to create my blog (almost) from scratch, using simple HTML and CSS, plus some handy libraries. In this post, I’ll detail the various frameworks that make this site work and the code I made to make it something unique.
Jekyll
The very foundation of this website is built on something called Jekyll. Jekyll is a static website generator, meaning it takes simple Markdown files that hold the text of the website and generates them into browser-parseable HTML files on the server-side of things. Luckily for me, Jekyll is built into both GitHub (via GitHub Pages) and Netlify. With this, I can host the Jekyll framework code on GitHub and integrate it into Netlify, which clones and generates the code of this site and hosts it on the Internet.
Netlify’s broad feature list enables me to only use them for everything: site generation, hosting, domain control, and much more. Right now, I only use the free tier for all my services. The only feature I pay for directly is my domain name, zachfetters.com
, which is only $15.99 USD a year. (I know this sounds like an ad but I promise you it isn’t. Netlify isn’t paying me to say this, it’s just that good!)
Netlify & Netlify CMS
Jekyll is great and all, but if you don’t have a server to build and host content on, then it’s useless. That’s where Netlify comes in. I could just use GitHub Pages and keep to one service, but I like the features Netlify offers which help keep all of the site running and optimized in one go. I can host my content, apply integrations and plugins to expand the site’s features and keep it running smoothly, all the while maintaining my domain and its DNS in one location.
On top of this, Netlify also offers an open-source content management system (CMS) called Netlify CMS. This low-code service makes it so that I can manage all of my site’s pages and posts in an easy-to-use dashboard hosted on my own site that I have full control over. It is extremely expandable, even allowing for a complex editorial workflow for sites that have multiple writers to manage. If you’re integrating it from scratch, only two files need to be added, plus some small configuration in your Netlify site’s settings, then it just… works. You can obviously configure it further to fit your needs better, but the default configuration is more than enough for most blogs.
Conclusion
While this process sounds very technical (for most people it is), it’s such a well documented process that as long as you follow the steps with some occasional Googling, this is all feasible for most tech-savvy people. There are thousands of Jekyll themes out there for you to install to your site so you don’t need to make your own, but I encourage you to experiment and try anyway.