My Journey to This Website

I first set up my website using Github pages a few years ago. I was looking for a cheap/free way to set up a website back then. It required a few simple steps and the website would be immediately available at <username>.Github.io. Follow this link if interested in setting up a website using Github Pages.

Soon my technical itch started to grow and I was looking for more. I was learning more on what static websites were and how they were set up. I learned that Github Pages used a technology called Jekyll which was created in Ruby. I clearly knew no Ruby. I was decent in R and was quickly coming up to speed in Python. Then one day, I found Jekyll Now Github repository which helped with Github pages like website. I liked it because I could trun on Google Analytics for tracking visitors, Disqus for comments, and choose from a repository of themes, etc. simply by editing the _config.yml file. Adding a post was as simple as adding a markdown document in the _posts subdirectory with name and date. It didn’t require knowing Ruby, or touching command line, or anything related to web. Just knowing how to write markdown, and few git commands viz. add, commit, and push would get me pretty far. Things were going pretty well.

Jekyllnow by Barry Clark

Then towards the end of 2019, I made another technical leap. I decided to build this site again, this time using Ruby on Rails and Jekyll from my desktop. I had started dabbling with Ruby and quickly understood the dependency management using bundler since I was already familiar with pyenv in Python. My combined knowledge of having used Jekyll Now and Github pages came in handy here. I was also coming up to speed on other parts of the framework such as liquid templating, pagination, posts, etc., and it would still be hosted as Github Pages.

While learning Ruby was fun, I started to feel like I was not getting the most out of this experience. I was constantly stumbling on minor Ruby issues, and having to spend quite some time reading on the internet. Also, I wasn’t using this new skills for any other projects. Soon, I caught myself looking for similar frameworks in Python and R. I was very excited about Pelican, a python based static site generator, at first. It was intuitive, and the process was very similar to Jekyll.

After creating a test page in Pelican, I decided I wanted to test out R packages instead. I had not used R in a few months after using it pretty much every day in my last job. I had always known about bookdown, blogdown and RMarkdown site generators. I had really been impressed by the e-books in bookdown and had started converting an MS word project into a bookdown report at work. After reading a few online posts about blogdown, I decided that it would be pretty straight forward for me to move to blogdown. Yihui’s blogdown ebook (written using bookdown) was pretty much all that was needed to get started. Blogdown uses Hugo (written on golang) to serve the markdown posts into html.

So, that is where I am today. I am pretty satisfied with my processes for the time being. Blogdown has given me a very intuitive way of working with this website. In particular, I like using RStudio for IDE as it makes the whole process of developing, testing, and serving easy. But given how far I have come, I am not convinced that this will be my last framework. In the next post, I will go in detail of using blogdown, building, and deploying.