When comparing Metalsmith vs Hexo, the Slant community recommends Hexo for most people. In the question“What are the best static site generators?” Hexo is ranked 10th while Metalsmith is ranked 14th.
Ranked in these QuestionsQuestion Ranking
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();
Pro Fast and easy to use
Pro Deployment is easy and fast
Hexo built sites can be easily deployed to Github pages, Heroku, Openshift (custom cartridge needs to be setup) or any other custom solution (just copy over the
public folder). Any deployment is as simple as editing the
_config.yml file and running the
Pro Generating a blog is pretty fast
Generating a new blog with Hexo is generally really fast. Hexo truly lives up to it's name as a simple and fast static website generator.
Pro Constantly updated and actively maintained
Hexo's repository in GitHub is very active and it's actively being maintained. Updates are released every two or three months.
Pro Complete and helpful documentation
Hexo's documentation is very thorough and helpful, especially for people who are just starting with it.
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
Con Relatively large community but the majority is non-english speakers
Hexo has a relatively large following and community, especially in China. While this is certainly a positive, many developers who do not know chinese would be unable to follow all the guides and tutorials out there written by their chineses counterparts.