docpad-plugin-tumblr

Import your Tumblr content directly into your DocPad database

Tumblr Importer Plugin for DocPad

Import your Tumblr content directly into your DocPad database

docpad install tumblr

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

TUMBLR_BLOG=balupton.tumblr.com
TUMBLR_API_KEY=123

Or via your docpad configuration file via:

plugins:
    tumblr:
        blog: 'balupton.tumblr.com'
        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.

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: '.html.eco'
injectDocumentHelper: (document) ->
    document.setMeta(
        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.

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 index.html.eco file that would output the titles and links to all the imported tumblr documents:

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

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

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

These amazing people are maintaining this project:

  • Benjamin Lupton b@lupton.cc (https://github.com/balupton)

No sponsors yet! Will you be the first?

These amazing people have contributed code to this project:

Become a contributor!

Licensed under the incredibly permissive MIT license

Copyright © Bevry Pty Ltd us@bevry.me (http://bevry.me)