docpad-plugin-tumblr

Import your Tumblr content directly into your DocPad database

npm install docpad-plugin-tumblr
2 downloads in the last week
21 downloads in the last month

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

Install

docpad install tumblr

Configuration

Specifying your Blog

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.

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: '.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.

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 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>

History

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

Contribute

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

Backers

Maintainers

These amazing people are maintaining this project:

Sponsors

No sponsors yet! Will you be the first?

Gittip donate button Flattr donate button PayPayl donate button

Contributors

These amazing people have contributed code to this project:

Become a contributor!

License

Licensed under the incredibly permissive MIT license

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

npm loves you