When comparing Ghost vs DocPad, the Slant community recommends DocPad for most people. In the question“What are the best static site generators?” DocPad is ranked 5th while Ghost is ranked 15th. The most important reason people chose DocPad is:
There are multiple [custom interfaces](http://docpad.org/docs/plugins#custom-interfaces), including [miniCMS](https://github.com/jeremyfa/docpad-plugin-minicms) available to DocPad which provide WYSIWYG editing and article management.
Ranked in these QuestionsQuestion Ranking
Pro Open source
Anyone can view code of Ghost.
Pro Real-time preview
You can see markdown on one side of the pane and the result on the other, while writing.
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 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 Theme marketplace
A built-in way to get and set up themes.
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 Custom domain support
Setting up a custom domain is effortless - fill the in the form and change DNS entries. Done.
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 Built on Node
DocPad is published as an NPM module which makes it easy to integrate with an existing Node.js deployment.
Pro Has an active plug-in ecosystem
DocPad's has a large amount of plug-ins available to extend its functionality and compatibility with other language preprocessors and markup languages.
- CSS preprocessors include: LESS, SASS, Stylus, and Roole
- HTML markups include: Markdown, and Textile
- Templating engines include: Eco, Handlebars, Moustache, HAML, CoffeeKup, Jade, and Teacup
- JSON converters include: YAML and CSON
Pro Easy to deploy
Deployment plug-ins make deploying to hosting providers even easier, with plug-ins for GitHub Pages, AWS, and Google Storage.
Pro Has Live Reload
DocPad has a Live Reload plug-in that leverages websockets to automatically update the blog content for users live on the site.
Pro Built on top of the Express framework
Although DocPad is a static site generator, if you find the need to, you can extend the site with the Express framework for dynamic content as well.
Pro Prebuilt Skeletons
Skeletons are boilerplate setups to provide a baseline structure for you to fill content into.
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 Very immature and buggy
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 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 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 Support for Handlebars templates is not mature - integration is awkward
Handlebars' philosophy of "no logic in templates" makes some things difficult:
- DocPad built-in template helpers aren't available by default - they have to be manually added/exposed
- DocPad's example template code often includes logic, which makes it impossible to use within Handlebars templates -- it has to be abstracted into custom helper functions.
- Can't pass objects to function calls from within HB templates.
Con More up-front investment to learn/use well
DocPad provides a LOT of extensibility and dynamic capability, which means there's more up-front investment to learn DocPad well -- and deviating from the defaults while maintaining project robustness may be difficult.