Here's my experience: I previously used Middleman to build my blogshop and all was fine until I added more complexity. The codebase grew large and that's when I really hit the (Ruby) language's limits (too much type checking).
My intention is not to turn this into a language war, but I think using a good static site generator written a strongly typed language helps a lot. I considered Hugo, but eventually I decided to write my own in Scala and it has served me well.
A good static site generator should unleash a slew of goodies including code-reuse, viewing your website as a collection of functional components rather than just a bunch of partials. It's almost a full blown MVC project.
For example, my blogshop (not exactly 100% static) has 3 types of "Marketing" components - one of them is a widget asking for email subscriptions, the other is a popup for displaying offers, or email subscriptions based on the view it is used in, based on the parameters passed to it and finally the last one is a recommendation engine.
I don't trust Disqus nor Facebook especially after Facebook lost all my comments once (long ago, though). So, I host microservices for each of the components of my blogshop - One for recommendations, one for comments and so forth. They all live inside Appengine and I hardly hit the paid tier. The best part is that my blogshop can be written in any language I like and I can afford to write my other components in other languages. For example, I wrote my recommendation engine in Python, wrote my comments system in Scalatra. They all communicate with JSON APIs with each other.
For my authentication service, I use something called Apache Shiro. So, my static website is basically talking to each of my service through Ajax and injecting content using JS from the response from my microservices.
I know this isn't everyone's cup of tea, but it really works well for me and is much better than using Wordpress which is something generic that is forced to fit into my workflow/business model.