Back in mid 2016, ITNOOBS was born; I was a newbie with growing interest in IT and excited to create my first website! So naturally I hopped on GoDaddy and purchased itnoobs.com with hosting for a very reasonable price.
I think WordPress was all the hype back then or at least it really got my attention. It was easy to set up a WordPress site on GoDaddy and after some theme switching, I was ready for my very first blog post.
That simple website with a few posts like the original home lab, helped me to get more visibility in the pool of job applications and secure my first IT job in early 2017.
I was now busy learning on the new job and had less time for blogging and website administration, however WordPress pushed on with constant updates, broken plug-ins and performace issues. I finally made the decision to take a break and not renew neither the domain nor hosting.
By mid 2018, I was comfortable in my IT job and had time to work on and expand my home lab too. So I decided to resurrect ITNOOBS with Jekyll & Github Pages. As an added bonus, Github had announced free SSL certificates from Let’s Encrypt for all sites hosted on Github Pages. Free, secure and static website … what more could I ask!
The original itnoobs.com was on back order, so I purchased itnoobs.net from Crazy Domains and started with Jekyll & Github Pages.
How does it work?
New markdown, HTML and CSS content is created on a Windows workstation. I use Typora to create new posts, it has a live preview feature that processes markdown syntax and instantly transforms what you type.
The files are then transfered to the Linux VM using WinSCP.
The Linux virtual machine, runs Ubuntu server with Jekyll, Git and Apache installed. I have configured CRON jobs to:
- Run Jekyll and generate static site every minute
- Copy site files to /var/www/html/ every minute
- Backup (rsync) site files every hour
Apache then serves the local website which is used as a testing environment to identify any issues.
Once I’m happy with everything, I generate the public site with
JEKYLL_ENV=production jekyll build to include Disqus and Google Analytics code, then push it to Github Pages with
git push origin master.
ITNOOBS theme is a slightly modified Jekyll Minima.