Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Tumblr Importer Plugin for DocPad

Build Status NPM version Dependency Status Development Dependency Status
Gittip donate button Flattr donate button PayPal donate button BitCoin donate button Wishlist browse button

Import your Tumblr content directly into your DocPad database


docpad install tumblr


Specifying your Blog

You need to specify TUMBLR_BLOG (e.g. and your TUMBLR_KEY in either your .env configuration file like so:

Or via your docpad configuration file via:

		blog: ''
		apiKey: '123'

You can create a new Tumblr API KEY here or find your exiting ones here. Your API KEY is the same as your OAuth Consumer Key.

Customising the Output

The default directory for where the imported documents will go inside is the tumblr directory. You can customise this using the relativeDirPath plugin configuration option.

The default extension for imported documents is .json. You can customise this with the extension plugin configuration option.

The default content for the imported documents is the serialised tumblr data as JSON data. You can can customise this with the injectDocumentHelper plugin configuration option which is a function that takes in a single Document Model.

If you would like to render a partial for the tumblr data type, add a layout, and change the extension, you can this with the following plugin configuration:

extension: ''
injectDocumentHelper: (document) ->
		layout: 'default'
		tags: (document.get('tags') or []).concat(['post'])
		data: """
			<%- @partial('post/'+@document.tumblr.type, @extend({}, @document, @document.tumblr)) %>

You can find a great example of this customisation within the syte skeleton which combines the tumblr plugin with the partials plugin as well as the tags plugin and paged plugin.

Creating a File Listing

As imported documents are just like normal documents, you can also list them just as you would other documents. Here is an example of a file that would output the titles and links to all the imported tumblr documents:

<ul><% for file in @getFilesAtPath('tumblr/').toJSON(): %>
		<a href="<%= file.url %>"><%= file.title %></a>
<% end %></ul>


Discover the change history by heading on over to the file.


Discover how you can contribute by heading on over to the file.



These amazing people are maintaining this project:


No sponsors yet! Will you be the first?

Gittip donate button Flattr donate button PayPal donate button BitCoin donate button Wishlist browse button


These amazing people have contributed code to this project:

Become a contributor!


Licensed under the incredibly permissive MIT license

Copyright © Bevry Pty Ltd (