I wanted to update my website which had previously been running on a Jekyll blog, and a custom old php website for the portfolio. In my research I found about the JAMstack design philosophy, which is about building static websites for super fast performance.
My Jekyll website was already built statically, but Jekyll is very specific and limited in what it can do. It is also built in Ruby which isn’t necessarily as easy to customise as a normal website. Nowadays though, there are lots of new frameworks that allow us to combine the advantages of static rendering with React or Vue and other features of a fully-featured web stack.
The biggest advantage of using such frameworks instead of having a blog engine with Jekyll, is that I get an actual website that I can develop on. Having access to all of React’s features and being able to use JSX components in pages makes this way more flexible that Jekyll ever could be.
One issue I faced early on is that Jekyll markdown files are formatted slightly differently than Gatsby. The Jekyll files have their date in the file name, and don’t have much info in the frontmatter headers. Gatsby meanwhile extracts the date from frontmatter headers, and the slug from the file name.