Post

Evolving My Web Presence - Transitioning from a Static HTML to a Dynamic Ruby Jekyll Site

Background Story

I had a fondness for my old static HTML site, characterized by its deep magenta sidebar background. It was simple, quick, and straightforward to manage. Yet, I wanted to enhance it with features that static HTML couldn’t support, such as a search function, a blog, and a comments section. I also aimed for a more professional appearance, seeking a responsive design that was easy to navigate and maintain.

Motivated by over 6000 hours of content contribution to Stack Overflow (equivalent to more than three years of full-time work), I decided to incorporate blogging into my site to take ownership of my work. Stack Overflow has been a for-profit subsidiary of Prosus since 2021.

The Transition

Although I am neither a Ruby developer nor a seasoned web developer, I embarked on transitioning my static site to a Ruby Jekyll site. Throughout this journey, RubyMine 2024.1 has been an invaluable tool, brimming with features that have facilitated the process.

Currently, I am still transferring content to the new site, which is hosted on GitHub Pages using the Jekyll theme Chirpy. I’ve integrated both GoatCounter and Google Analytics for site tracking, maintaining a no-ad, non-commercial approach.

The website is designed to be platform-agnostic, ensuring a seamless viewing experience on any device, whether it be a desktop, laptop, tablet, or smartphone.

Overcoming Challenges

One significant hurdle has been adapting executed Jupyter notebooks for the new site. This involves exporting these notebooks to markdown files and updating the code to the latest Python versions and libraries—a time-intensive task.

The Former Site

For a glimpse into the past, you can visit the Old Site. Please note that the links may not be updated.

Helpful Resources

  1. RubyMine by JetBrains
  2. Ruby
  3. Jekyll
  4. Jekyll Theme Chirpy
  5. GitHub Pages
  6. GoatCounter
  7. Google Analytics
This post is licensed under CC BY 4.0 by the author.