Chiraag Juvekar

Chiraag Juvekar

New Year, New Website

The last time I maintained a personal website was 2011. It was a barebones docuwiki instance with a landing page. I knew a bit about the LAMP stack and had dabbled with Javascript. Over the last 10 years while I have been living under a rock, the web has evolved into a very different place. It's time to catch up.

Requirements

At the outset there are a things that seem important to me:

  • Keeping deployment relatively simple
  • A simple clean theme
  • An easy way to add posts (preferably Markdown)
  • Ability to add custom interactive widgets/plots to some posts
  • Ability to create some interactive pages
  • Use standard tools/frameworks

The first three essentially are about keeping the common case to be simple. The last three for me are about getting better at modern Javascript.

Candidate Ideas

There were a few choices to consider based on what I had used in the past.

  • HTML+CSS: Keep things simple! Would need to write custom Javascript.
  • Hugo: Easy to author but customization has been hard for me in the past.
  • Wordpress: Really wanted to avoid maintaining a database.
  • React-based Framework: Good mix of ease of use and customizability.

In the end I went with Next.js. The main reasons for me were the following:

  • Seems to support better SEO vs React Progressive Web Apps.
  • The onboarding tutorial is fairly short.
  • Has the ability to allow Server Side Rendering if required for future projects.

Next Steps/To-Do List

There are still quite a few things to put in place before everything works as intended.

  • Create footer
  • Allow interactive components in Markdown pages.
    • Settled on next-mdx-remote 1
  • Find a webhost for static site (netlify)
  • Add support for syntax highlighting
  • Add support for math (KaTeX\KaTeX)
  • Add an interactive post

  1. Passing in all components is a bit kludgy