When comparing Middleman vs Assemble, the Slant community recommends Middleman for most people. In the question“What are the best static site generators?” Middleman is ranked 4th while Assemble is ranked 13th. 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.
Ranked in these QuestionsQuestion Ranking
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 Built on node.js
Pro Powered by a popular template engine Handlebars
Handlebars is the default template engine for Assemble, but you can add any template any you want.
Pro Highly customizable
Pro Markdown support
Pro Highly extensible
Assemble can be extended with plugins/middleware, helpers and mixins.
Pro Nested layout support
Assemble makes it easy to work with layouts. Layouts are used to "wrap" pages with common page elements, such as a header, footer etc. You can even nest layouts!
Pro Use mainstream build tools Grunt or Gulp
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 Documentation can be hard to navigate
Especially for someone new to Assemble, it can be difficult to find what you're looking for in the documentation.