DocPad
DocPad rethought web development and was the first big static site generator for Node.js gaining over 2000 stars, hundreds of daily users, 200 plugins, and 100 contributors.
Last updated
Was this helpful?
DocPad rethought web development and was the first big static site generator for Node.js gaining over 2000 stars, hundreds of daily users, 200 plugins, and 100 contributors.
Last updated
Was this helpful?
DocPad takes files on your computer, such as easy to read markdown documents, and then transforms them into static output that can be deployed anywhere.
Despite all the amazing wonder of current web application architectures, they're mostly:
Inherently slow
Usually built on blocking, live-then-die platforms
Performance is an afterthought, re-render every single time (by default, caching can be enabled to improve this)
Bloated
Huge, include-everything codebase, with little or no code re-use (especially between frameworks)
Overkill for everything, as no single project will use every feature of the CMS
Complex
Gigantic learning curves, usually measured in months (instead of days or hours)
You require CMS/framework developers instead of web developers
Difficult
Setting up a new website is time-consuming and complex
Uh oh! "database not installed" or "version invalid"
Migrations and deployments are a royal pain in the ass
Limited
WYSIWYG editors are sucky and stupid - why re-invent the wheel? We're already trained with and love our desktop counterparts (Sublime Text, Vim, Byword, etc.)
Abstractions on the go? Forget it - you're boxed in, unless you've got a machete
Want to use your own pre-processors, markups, and templating engines? Tough: they're handled by the core.
On the other hand, let's compare that with DocPad, which is:
Website inherently fast
Built on a non-blocking, stay-alive platform
Performance from the ground up, re-render only when changes occur (by default, can be configured differently)
Lightweight
Tiny core, with anything that's re-usable abstracted out into modules that other systems can use
All non-essential core functionality lives in opt-in plugins
Simple
Tiny learning curve; get started in minutes, become a pro in days
Web developers already have everything they need to get started
Easy
Setting up a new website can be done in minutes
In-memory database provides querying without the need for a manual installation
Migrations and deployments are handled via Git, the tool we are used to
Robust
Use your desktop counterparts to edit content naturally (Sublime Text, Vim, Byword, etc.)
Abstraction friendly; code the way you want, how you want
Use whatever language, pre-processor, markup, templating engine you want - it's all covered via our opt-in plugins (and if it isn't, it's very easy to add)
Besides this, thanks to the opt-in modular philosophy of Node, we benefit from all the innovations of the community as a whole, including:
Socket.io for realtime communication between the server and client-side
Browserify for being able to share server-side code directly with the client-side
Native pre-processor rendering such as CoffeeScript, CoffeeKup, Stylus, LessCSS, etc.
So as the Node community grows and innovates, so do we. Awesome.
For those who like tables, here's the above in table form:
Feature
Usual CMS
Usual Static Site Generator
DocPad
Talent requirements
CMS developer
Backend+frontend developer
Frontend developer
Developers proficient in
Months
Days
Days
Plugin and extension system
Yes
No
Asset pipeline
No
Implicit & bundled
Markup languages (markdown, rst, etc.)
No
1 bundled
Pre-processors (sass, less, etc.)
No
No
Template engines (eco, jade, etc.)
No
1 bundled
Database querying
Yes
No
Layouts
Yes
Yes
Yes
Static website output
No
Yes
Yes
Re-render each request
Always
No
Extend the web server
Yes
No
Watching
N/A
Yes
Yes
Differential regenerations
N/A
No
Yes
Live-reload
No
No
Partials
No
No
Manual database installation required
Yes
No
No
Import pages from file system
No
Yes
Yes
Import pages from external database (MongoDB, MySQL, etc.)
Yes
No
Import pages from external services (Tumblr, Dropbox, GitHub, etc.)
No
No
Import data from external services (Atom, XML, JSON, etc.)
No
No
WYSIWYG editors
Yes
No
Via
Via
Via
Via
Via and
Via
Via
Via