contentpull

3.0.1 • Public • Published

Contentpull

A contentful.js wrapper that adds simple functions to handle queries and optionally parses data before resolving promises.

Status

npm Travis codecov Dependency Status devDependency Status js-standard-style npm pull requests

Reference

See contentful.js for more information as that package represents the base of this one.

Installation

Include the package locally in your repository.

npm install contentpull --save

Basic Usage

To see an interactive guide, visit our tonic notebook.

The puller registers a client for communicating with the server. First create an instance of the puller with the following:

// The class
var Contentpull = require('contentpull');
 
// This is your space id (provided by contentful)
var spaceid = 'space-id';
 
// This is the access token (provided by contentful)
var accessToken = 'abcdefg1234567';
 
// If preview is true, contentful will run in preview mode
var isPreview = false;
 
// built-in parsers exist, but you can override any of them
var parsers = {
    // choose the content type parser you want to override
    Array: function (arr, parser) {
        // edit the passed object directy
        delete arr.sys;
        arr.items.map(item => parser(item));
    }
};
 
// The instance of the puller
var puller = new Contentpull(spaceid, accessToken, {
    preview: isPreview,
    parsers: parsers
});

Writing plugins

You can create your own plugins using the static .use function.

All of the following examples are valid for writing extensions to be used in Contentpull

 
// the augmentation
function getEntriesByContentType() {
    this.getEntriesByType.apply(this, arguments);
}
 
/*
 
Each example allows the following to work:
 
puller.getEntriesByContentType('books');
 
*/
 
/**
 * {String} name - The function name.
 * {function} fn - The function reference.
 */
Contentpull.use('getEntriesByContentType', getEntriesByContentType);
 
/**
 * {function} fn - The function reference (must be named).
 */
Contentpull.use(getEntriesByContentType)
 
/**
 * {Object} args - The arguments.
 * {String} args.name - The function name.
 * {function} args.fn - The function reference.
 */
Contentpull.use({
    name: 'getEntriesByContentType',
    fn: getEntriesByContentType
});

Please take a look at our example contentpull-backup.

Additional Help

If you are viewing this README online, refer to our wiki.

If you have cloned or downloaded this repo, please refer to the generated ESDOC articles (npm run doc).

LICENSE

MIT

Package Sidebar

Install

npm i contentpull

Weekly Downloads

3

Version

3.0.1

License

MIT

Unpacked Size

20.4 kB

Total Files

6

Last publish

Collaborators

  • mrsteele