When comparing Octopress vs Metalsmith, the Slant community recommends Octopress for most people. In the question“What are the best static site generators?” Octopress is ranked 4th while Metalsmith is ranked 13th. The most important reason people chose Octopress is:
Octopress is designed to remove all the time-consuming and frustrating tasks you usually have to deal with when using Jekyll. You don't have to write your own HTML templates or do any configuration to get started. The default template also takes care of any basic CSS/JS you need to write to get going.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Very easy to use
Octopress is designed to remove all the time-consuming and frustrating tasks you usually have to deal with when using Jekyll. You don't have to write your own HTML templates or do any configuration to get started. The default template also takes care of any basic CSS/JS you need to write to get going.
Pro Lots of plugins (from Jekyll + 3rd party)
Another advantage of being based on Jekyll is default access to the extensive plugin system for Jekyll. There are also plugins developed specifically for Octopress.
Pro Based on Jekyll
As Octopress is simply a framework on top of Jekyll, it benefits from being based on one of the most popular site generators available. The primary benefit is that it is backed by git and is built in such a way that the site can be easily re-generated if the content changes.
Pro Uses Markdown for writing
Uses the Markdown syntax for writing blogs.
Pro Flexible beyond a static site generator
Because metalsmith is at its core focused on transforming directories of files, it can be used for more than just static site generation, and could be used as a build tool, a documentation generator, or any use that requires file transformations.
Pro Designed around plugins
Everything in metalsmith is a plugin, and it is designed to make it easy to write new ones.
Pro Chaining API
Metalsmith uses a chaining API that's consistent and simple to use:
Metalsmith(__dirname)
.use(markdown)
.use(templates('handlebars'))
.build();
Cons
Con Not Actively Developed
Last commit is Feb 22, 2016, Social media hasn't been updated. Dead project?
Con Inefficient
Adding a new post, for example, causes the entire blog to be regenerated.
Con Some plugins have hard-coded values
Con Not as flexible as Jekyll
Con Code and data are intertwined
Con Small community
The Metalsmith community is still fairly small compared to the more popular options. This results in a lack of learning resources and difficulty finding support from experienced users. However, a slack group has recently been started.
Con Not client enabled API chaining
According to the spec on API chaining, the API request/response need to associate an API object to an corresponding controller/action/uri to be able to validate and handle the request/response and the datasets.
Without that, the consuming client service cannot properly validate or relate the datasets from one to the other. Links have no relational value and the api object creates the relationship between the datasets while maintaining an api/dataset relationship with the corresponding controller/action/uri
As such, the current methodology supported would not be able to be called by the client not supported by the client in a RESTFUL manner