Ghost vs Metalsmith
When comparing Ghost vs Metalsmith, the Slant community recommends Metalsmith for most people. In the question“What are the best static site generators?” Metalsmith is ranked 13th while Ghost is ranked 19th. The most important reason people chose Metalsmith is:
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.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Open source
Anyone can view code of Ghost since it's under a libre/open source license.
Pro Extremely simple
It only does a few things and it does them well. Unlike WordPress, with which you can build a universe, a blog or anything in between, Ghost is simple.
Pro Markdown support
Markdown is a plain text formatting syntax designed so that it can be human-readable and easily converted to HTML. Markdown allows HTML code for complete flexibility.
Pro Custom domain support
Setting up a custom domain is effortless - fill the in the form and change DNS entries. Done.
Pro Self-host & paid Ghost(Pro)-host options
You can download the source code and set it up yourself (just make sure your hosting provider supports node.js). Alternatively, you can use their Ghost(Pro) service to let them host it for you. Paid plans start at $10/mo.
Pro Official Docker image
Very easy setup with an official image from Docker. Just needs a custom config.json and you are pretty much good to go.
Pro Theme marketplace
A built-in way to get and set up themes.
Pro Real-time preview
You can see markdown on one side of the pane and the result on the other, while writing.
Pro Customizable
Themes may be uploaded, as can logos and covers.
Pro Free hosting on Github Pages via Buster
You can host your Ghost blog for free on Github Pages if you are OK with it being turned into a static site. You can use Buster to generate a static site from Ghost that can then be hosted on Github Pages.
Pro Affordable hosting available
There are lots of affordable hosting plans available for Ghost 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 Commenting must be added
One needs to edit their post.hbs file and add some code from Disqus in order for commenting to be available.
Con Expensive
Too expensive for what you actually get. There are other solutions that have more or less the same features at a lower cost.
Con Poor multilingual support
Its editor does not properly support Asian characters such as Chinese, Japanese and Korean due to a bug in IME. It is difficult to write properly in Asian letters.
Con Finding Ghost host sites can be difficult
If wanting to host elsewhere, some of the other ghost hosting sites are hard to find, and once found they vary in features and functions. There isn't a single standard of service across the board.
Con Self-hosted might be hard to setup
Requires NodeJS and NPM which both come with a lot of dependencies. Also requires editting configuration files manually.
Con Inappropriate terminology in the UI
Despite some community support of having it removed, Ghost still prominently uses the following phrase in the UI: "Display a sexy logo for your publication." This terminology can be considered exclusionary and even inappropriate in a professional environment.
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