It is now 2016 and the age of static site generators is in full bloom. There is no end to the number of new engines/platforms emerging so I figured I'd take the plunge and try it out. I looked at a number of different options including hugo, ghost, and jekyll. I settled on hexo mainly because the community seemed fairly large and it was written in nodeJS, which has become my framework of choice for most new projects nowadays.
Why static generation? There are many reasons why you would want to stick with a dynamic website. Let's say you want customized layouts for each user. You couldn't really do that with static sites because it would defeat the whole purpose. Static site generation is about taking all that work that happens during a page hit, such as the application processing and database hits, and moving it to the moment you need to do any actual work to the site. Need to write a new post? After finishing the content, you would generate the new set of static files for the site and all the processing (and maybe database hits) take place then. When someone clicks a link to the new article you wrote, it serves up a static file which is lightning fast. Of course you could still achieve dynamic pages with scripting, but this is really about addressing the simple needs of most users.
I'm going to convert iamchung.com over to hexo for a whlie to give it a shot so we'll see how it actually performs! I'll write another post once the transition has been complete.