node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


Tumblr Importer Plugin for DocPad

NPM version Gittip donate button Flattr donate button PayPayl donate 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:

  • Benjamin Lupton (


No sponsors yet! Will you be the first?

Gittip donate button Flattr donate button PayPayl donate button


These amazing people have contributed code to this project:

Become a contributor!


Licensed under the incredibly permissive MIT license

Copyright © Bevry Pty Ltd (