When comparing Middleman vs Roots, the Slant community recommends Middleman for most people. In the question“What are the best static site generators?” Middleman is ranked 7th while Roots is ranked 18th. The most important reason people chose Middleman is:
[Minification and compression](http://middlemanapp.com/advanced/file-size-optimization/index.html) are as easy as setting a few configuration options, and [unique asset hashes](http://middlemanapp.com/advanced/improving-cacheability/) are available to allow you to invalidate the cache of files that change regularly.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Built in minification, compression, and cache busting
Minification and compression are as easy as setting a few configuration options, and unique asset hashes are available to allow you to invalidate the cache of files that change regularly.
Pro Support for a variety of templating languages and preprocessors
Middleman supports lots of compiled languages, such as Less, Markdown, Textile, CoffeeScript, Stylus and more.
Pro Extensible and flexible
Middleman has a resources page full of official and community extensions.
Pro External pipeline management with Webpack
Replace your Gulp, Grunt, Bower configs
Pro Embraces Rails conventions
Middleman follows established conventions so if you know rails, you can easily pick up middleman.
Pro Easy deployment options
Pro Active development
Roots has heavy corporate sponsorship and is worked on very actively as a full time job. That means you can rely on it.
Pro Quick deploys
You can deploy to heroku, github pages, s3, etc. with a single command.
Pro Dynamic content
Roots supports dynamic content like jekyll for every compiler and language.
Pro Currently going through an upgrade
Roots is currently in the process examining how to leverage newer technologies to make Roots even better. You can see the new project on github: https://github.com/carrot/roots-mini
Here is the blog post explaining the next phase of Roots: https://medium.com/@jescalan/eaa10c75eb22#.uacjziaej
Here is the stack they're experimenting with:
- jade - for markup
- babel - for JS and JS transforms
- postcss - for CSS transforms
- webpack - as the core compiler
As this is a work in process, it just means the future of Roots continues to look great.
Pro Custom compilers
Not only does roots support a huge number of languages and compilers out of the box, it also allows you to insert custom compilers if you want. Fun fact, roots is the only static site generator that supports dogescript
Pro Multipass compiles
Roots compiles files once for each extension, which allows for some advanced options if you get to that stage
Pro Client-side templates
Roots will precompile your templates into js, which makes it really smooth to work with client-side MV* frameworks.
Pro Quick
Since roots is written in node, everything is compiled in parallel rather than in series, making it very quick.
Cons
Con Too much magic happens
For new users it is hard to understand what is going on and why.
Con A little more complicated than other static site generators
Middleman is a big piece of software, it's not simply a static blog generator. Because of all the functionality and flexibility it offers it can be a little more complex than other static site generators and a little harder to learn all of its bells and whistles.
Con No i18n (Internationalization)
There is no i18n support out of the box. And there is only one extension that does i18n compilation with a limited feature set.