Plugins
Here's a list of all available DocPad plugins. If you've created a plugin, be sure to include it in this listing! :)
Installing
To install a plugin, run docpad install #{thePluginName}
inside your project directory. As an example, to install the eco plugin, you would run docpad install eco
To uninstall a plugin, run docpad uninstall #{thePluginName}
inside your project directory.
In older versions of DocPad, you would run npm install --save docpad-plugin-#{thePluginName}
to install, and npm uninstall --save docpad-plugin-#{thePluginName}
to uninstall.
Plugin Listing
Complete listings of DocPad plugins can be found at:
Below is a curated listing of plugins.
Renderers
These are plugins that add support for extra markups and languages to DocPad:
Writing Markups
markit - Supports Markdown to HTML
.html.(md|markdown)
via markdown-itasciidoc - Supports Asciidoc to HTML
.html.adoc
via asciidoctor.js
Data Markups
CSS Pre-Processors
sass - Supports SCSS and SASS to CSS (includes compass support)
.css.(sass|scss)
Javascript Pre-Processors
coffeescript - Supports CoffeeScript to JavaScript
.js.coffee
js2coffee - Supports JavaScript to CoffeeScript
.coffee.js
livescript - Supports LiveScript to JavaScript
.js.ls
typescript - Supports TypeScript to JavaScript
.js.ts
HTML Pre-Processors
CoffeeScript Templating Engines
html2coffee - Supports HTML to CoffeeKup
.coffee.html
coffeemugg - Supports CoffeeMugg to anything
.anything.coffee
hamlcoffee - Supports Haml Coffee to HTML
.html.hamlc
HAML-Like Templating Engines
Moustache Templating Engines
handlebars - Supports Handlebars/Moustache to anything
.anything.(hb|hbs|handlebars)
hogan - Supports Hogan/Mustache to anything
.anything.hogan
Other Templating Engines
consolidate - Supports many template engines via Consolidate.js
htmlmin - Supports minifying HTML with HTML-Minifier
.html.anything
vash - Supports Vash, an implementation of the Razor template syntax for JavaScript, to anything
.anything.vash
Languages
cmds - Adds some shell scripting fun. Supports
.anything.bash|.anything.sh|.anything.ps1|.anything.cmd
Helpers
These are plugins that add extra functionality to DocPad:
assets - Change URL of asset files to contain hash of contents, allowing for effective caching whilst enabling cache busting when contents change
associatedfiles - Lets you easily associate files to a particular document, and then grab the collection for them
authentication - Handles authentication and login functionality via social login (ie google, facebook, twitter or github) for your docpad application. Protects pages from unauthenticated users.
basicauth - Adds basic authentication to your project
browserifybundles - Add configuration to your DocPad configuration file to create browserify bundles of your scripts
browserifydocs - Browserify your documents by adding
browserify: true
to their meta datacachr - Allows you to cache remote URLs locally from within your templates
cleancss - Concatinate and minify CSS files with the
cleancss: true
meta datacleanurls - Adds support for URLs like
/blog/hello
as well as the original URL/blog/hello.html
coffeelint - Prints coffeelint errors to the console
csv - Adds support for CSV data mapping. The comma seperated data files work just like a database, map from column 1 to column 2
datefromfilename - Automaticaly set the
date
meta-data property by determining it from the document's filenamedateurls - 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
functions - Start functions between DocPad events
gist - Pulls in gists into your document
heapdumper - Generates a heapdump snapshot for chosen DocPad event(s), viewable in the Chrome profiler
highlightjs - Adds Highlight.js syntax highlighting to code snippets
ignoreincludes - Avoid writing include files to the
/out
directoryjsexc - Adds the ability to apply AOT compilation to JavaScript files
jsonfragment - Writes each documents content without layout and its meta data into a separate
.json
file for quick loading via AJAX.livereload - Automatically reloads the page whenever a regeneration is performed
menu - Automatically generates menu from
/render
foldernativecomments - Adds support for native comments to DocPad
navlinks - Adds the ability to generate a navigation bar for documents with links to the next and previous document of a specified collection.
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
raw - Copies all files in the
/raw
directory to/out
without going through DocPad's generation process. Useful for files that cause out of memory/speed issues when placed in/static
directory.copy - Alternative to raw pluging with performace optimizations. Copies all files in the
/raw
directory to/out
without going through DocPad's generation process. Useful for files that cause out of memory/speed issues when placed in/static
directory.redirector - Creats redirects (301 or meta-refresh) via configuration.
related - Scans your documents
tags: 'tag1', 'tag2'
metadata to produce a listing of related documentsrss - Generates an RSS feed for a configurable collection
scheduling - Schedules content so that it is not rendered out before the
date
specified in the content's meta-data.schema - Adds support for JSON schema in DocPad collections
services - Adds support for many 3rd party services to DocPad
shortcodes - Adds various Wordpress style shortcodes (e.g.,
[video id="123"]
) to simplify template writing.sitemap - Generates a
sitemap.xml
file for your site from thehtml
documents collectiontableofcontents - Automatically generate table of contents
text - Render
templateData
properties without needing template engine, useful for abstraction in configuration filesthumbnails - Manages thumbnail generation of your image files
imagin - Alternative to thumbails plugin with support for
raw
andcopy
plugins for performance optimization. Manages thumbnail generation of your image files.tinylivereload - A LiveReload plugin that doesn't alter your HTML. Works with the Chrome/Firefox LiveReload extensions.
uglify - Compress and minify JavaScript files with the
uglify: true
meta dataumd - Wrap specified JavaScript documents in the Universal Module Definition (UMD) allowing them to run in AMD, Require.js, CommonJS/Node.js and Vanilla environments automatically
sanitizer - A helper for HTML string sanitization based on Google Caja
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
DocPad Admin Interfaces were deprecated in DocPad v6.81
DocPad's plan from the very beginning has been to be interface agnostic. This means that we will be able to utilise existing interfaces, customer interfaces, and decoupled interfaces. Allowing us to always utilise the best experiences for everyone involved.
Existing Interfaces
DocPad's plugin/extension infrastructure supports existing coupled interfaces by importing their data directly into the DocPad Database. So if you love using Tumblr, WordPress, Medium, MongoDB, or GitHub repos for your content, you don't have to give them up. Just install the importer plugin for them, and DocPad will import the data from that service into the DocPad database for rendering.
downloader - Download (and optionally extract) files into your project, used in the Bootstrap Skeleton to pull in Bootstrap
repocloner - Clone repos into your project, awesome for creating wikis
tumblr - Imports Tumblr data directly into your DocPad Database, used in the Syte Skeleton to pull in Tumblr data
mongodb - Imports collections from MongoDB.
cloudant - Imports collections from Cloudant (CouchDB)
Custom Interfaces
DocPad's plugin/extension infrastructure supports custom Admin Interfaces tightly coupled to the DocPad experience. So far we have the following extensions that add Admin Interfaces to DocPad:
DocPad Collections Editor - A simple WYSIWYG editor for DocPad Collections
MiniCMS - Adds an admin interface to DocPad
CMS Docpad - Lightweight CMS UI with WYSIWYG editor for pages and parts
Decoupled Interfaces
DocPad's plugin/extension infrastructure supports existing decoupled interfaces by providing plugin/extension adapters to the interface allowing the interface to interact directly with the DocPad Database, or theoretically any backend providing an interface was made for it. So far we have the following extensions that add Decoupled Interfaces to DocPad:
Use Prose with DocPad to create a Wiki - Tutorial on how to use Prose.io as an Admin Interface for DocPad
WebWrite's InlineGUI (not yet ready) - Edit your content from any backend with this inline editing interface
Edit & Deploy with GitHub.com & GHpages Plugin - Wiki on how to use GitHub.com to edit your DocPad website and then DocPad's
ghpages
plugin to deploy to GitHub Pages.
Guides
These are miscellaneous things that you can do with DocPad:
Create Your Own!
It's easy to write plugin for DocPad. Get started now on our Write a Plugin Page!
Last updated