Metalsmith vs Jekyll
When comparing Metalsmith vs Jekyll, the Slant community recommends Jekyll for most people. In the question“What are the best static site generators?” Jekyll is ranked 5th while Metalsmith is ranked 13th. The most important reason people chose Jekyll is:
You can host your site with great stability and Jekyll support out of the box for free by using [GitHub pages](http://pages.github.com/).
Specs
Ranked in these QuestionsQuestion Ranking
Pros
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 GitHub Pages offers free hosting with a github.io subdomain
You can host your site with great stability and Jekyll support out of the box for free by using GitHub pages.
Pro Can use HTML to set up your page templates, and markdown for your blog posts
Pro Has a built in server
You can spin up a static server at localhost:4000 by running jekyll serve
Pro Code highlighting with pygments
Jekyll has Pygments code highlighting built in so you can create syntax highlighted code blocks on your blog.
Pro Excels at blogging
Jekyll pages are structured by posts, which makes it easier to build a blog.
Pro Decent documentation
Link to docs
Pro Import your existing blog from many sources
Jekyll supports importing from many dynamic blog engines:
- CSV
- Drupal 6
- Drupal 7
- Enki
- Google Reader
- Joomla
- Jrnl
- Marley
- Mephisto
- Movable Type
- Posterous
- RSS
- S9Y
- Textpattern
- Tumblr
- Typo
- WordPress
- WordPress.com
Pro Has built in watch mode
Watch mode will reconstruct the site as pages are updated which is great for testing.
Pro Large, active and helpful community
Thanks to it's popularity, Jekyll has a large and active community of users. This means there is plenty of learning material available for Jekyll and it's easy to find help from other users when needed.
Pro Customisable with data and collections
Can make sites very different from blogs but with a lot of pages by making templates using data and collections.
Cons
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 It's slow for sites with a lot of posts
Con Little Windows support
Windows is not an officially supported platform and setting it up on Windows requires a lot more tinkering than Linux or OSX.