Plugins
Here is a listing of all the plugins available for DocPad. If you have created a plugin, be sure to include it in this listing! :)
Installing
To install a plugin, do a npm install --save docpad-plugin-#{pluginName} inside your website's directory. For instance, to install the eco plugin, you would do npm install --save docpad-plugin-eco
Renderers
These are plugins that add support for extra markups and languages to DocPad:
- coffeescript - Supports CoffeeScript to JavaScript
.js.coffee - coffeekup - Supports CoffeeKup to anything
.anything.coffee - cson - Supports CSON to JSON
.json.cson - eco - Supports Eco to anything
.anything.eco - haml - Supports HAML to anything
.anything.haml - hamlcoffee - Supports HAML Coffee to HTML
.html.hamlc - handlebars - Supports Handlebars/Moustache to anything
.anything.(hb|hbs|handlebars) - hogan - Supports Hogan/Mustache to anything
.anything.hogan - html2coffee - Supports HTML to CoffeeKup
.coffee.html - html2jade - Supports HTML to Jade
.jade.html - jade - Supports Jade to anything
.anything.jade - js2coffee - Supports JavaScript to CoffeeScript
.coffee.js - less - Supports LessCSS to CSS
.css.less - marked - Supports Markdown to HTML
.html.(md|markdown)via marked - move - Supports Move to JavaScript
.js.move - multimarkdown - Supports MultiMarkdown to HTML
.html.(md|markdown)via node-multimarkdown - php - Supports PHP to anything
.anything.(php|phtml) - robotskirt - Supports Markdown to HTML
.html.(md|markdown)via robotskirt - roole - Supports Roole to CSS
.css.roo - ruby - Supports Ruby and ERuby to anything
.anything.(ruby|erb) - sass - Supports SCSS and SASS to CSS (includes compass support)
.css.(sass|scss) - stylus - Supports Stylus to CSS
.css.(styl|stylus) - teacup - Supports Teacup to HTML
.html.coffee - typescript - Supports TypeScript to JavaScript
.js.ts - yaml - Supports YAML to JSON
.json.(yaml|yml)and JSON to YAML.(yml|yaml).json
Helpers
These are plugins that add extra functionality to DocPad:
- addthis - Adds the AddThis toolbar into your project
- associatedfiles - Lets you easily associate files to a particular document, and then grab the collection for them
- basicauth - Adds basic authentication to your project
- buildr - Supports bundling scripts and styles (including pre-processors like coffeescript, less, etc) using Buildr
- datefromfilename - Automaticaly set the date meta-data property by determining it from the document's filename
- dateurls - Automatically add
/YEAR/MONTH/DAY/NAMEroutes for your posts - cachr - Allows you to cache remote urls locally from within your templates
- cleanurls - Adds support for urls like
/blog/helloas well as the original url/blog/hello.html - csv - Adds support for CSV data mapping. The comma seperated data files work just like a database, map from column 1 to column 2
- dateurls - Adds support for date based urls like
/2013/04/27/hello.html - facebookcomments - Adds the Facebook Comment Widget to your project
- feedr - Allows you to render remote feeds within your templates
- frontend - CSS and JavaScript asset manager and compiler for DocPad
- gist - Pulls in gists into your document
- highlightjs - Adds Highlight.js syntax highlighting to code snippets
- jsexc - Adds the ability to apply AOT compilation to JavaScript files
- livereload - Automatically reloads the page whenever a regeneration is performed
- menu - Automatically generates menu from documents folder
- nativecomments - Adds support for native comments to DocPad
- paged - Adds multiple page support to documents allowing you to render one document out to many pages
- partials - Adds the ability to create re-usable partials for your templates within DocPad
- pygments - Adds Pygments syntax highlighting to code snippets
- related - Scans your documents
tags: 'tag1', 'tag2'metadata to produce a listing of related documents - services - Adds support for many 3rd party services to DocPad
- sitemap - Generates a
sitemap.xmlfile for your site from thehtmldocuments collection - text - Render templateData properties without needing template engine, useful for abstraction in configuration files
- tableofcontents - Automatically generate table of contents
- thumbnails - Manages thumbnail generation of your image files
Deployers
These are plugins that make deploying to particular services even easier:
- ghpages - Deploy to GitHub Pages as easy as
docpad deploy-ghpages - sunny - Uploads site to cloud (AWS, Google Storage) after generation
Admin Interfaces & Importers
These are plugins that provide administration interfaces on top of DocPad:
- DocPad Collections Editor - A simple WYSIWYG editor for DocPad Collections
- MiniCMS - Adds an admin interface to DocPad
- Use Prose with DocPad to create a Wiki - Tutorial on how to use Prose.io as an Admin Interface for DocPad
We're also working very hard on improving support for importers. Importers allow you to import documents from external services into the DocPad database, allowing you to use whatever you want as an admin interface for DocPad. Eventually we will have importers for say Tumblr, WordPress, Joomla, whatever. Allowing you to use DocPad to write and render your website, and them to create and edit your content.
So far we have created the following importers that pull in data from remote services and make them available as DocPad documents:
- downloader - Download (and optionally extract) files into your project, used in the Twitter Bootstrap skeleton to pull in Twitter Boostrap
- repocloner - Clone repos into your project, awesome for creating wikis
Guides
These are miscellaneous things that you can do with DocPad:
- Localising and formatting dates
- Automatically set custom meta data for collections
- Absolute URL Helper
- Benchmarking DocPad
- Sitemap Generation
- Concatenate your scripts with Browserify
- Minify your assets with Grunt
- Minify your assets automatically post-deployment with Cloudflare
- Custom Routing
- Paging Solutions
- Responsive Layouts in Stylus
- Thoughts on a DocPad GUI
- Getting Ruby, SASS and DocPad working on Heroku
- Respond with JSON when asked to
- Require authentication to view certain documents
- Use DocPad and GitHub as a Wiki
Complete Plugin Listing
You can find a complete listing of all DocPad Plugins on the NPM Registry using the docpad-plugin keyword. Though note, this listing is not curated by the DocPad Team, so be careful.
Create Your Own!
It's easy to write plugin for DocPad. Get started now on our Write a Plugin Page!