buttercms
Version:
ButterCMS API Client
90 lines (64 loc) • 2.01 kB
Markdown
# ButterCMS node.js client
[](https://www.npmjs.org/package/buttercms)
## Documentation
For a comprehensive list of examples, check out the [API documentation](https://buttercms.com/docs/api/).
## Installation
Requires node.js version 4 or greater.
```
npm install buttercms
```
## Overview
Every resource is accessed via your butter instance:
```js
var butter = require('buttercms')(' your butter API token ');
```
Every resource method returns a promise:
```js
// Get blog posts
butter.post.list({page: 1, page_size: 10}).then(function(response) {
console.log(response)
})
// Get blog post
butter.post.retrieve("hello-world").then(function(response) {
console.log(response)
})
// Get homepage content
butter.content.retrieve(["home"]).then(function(resp) {
console.log(resp)
});
// Get pages
butter.content.retrieve(["pages"]).then(function(resp) {
console.log(resp)
});
```
See our [node app](https://github.com/buttercms/node-example) for a full example.
## Available resources & methods
Where you see params it is a plain js object, e.g. `{page: 1}`
* post
* `retrieve(slug[, params])`
* `list([params])`
* `search(query[, params])`
* category
* `retrieve(slug[, params])`
* `list([params])`
* tag
* `retrieve(slug[, params])`
* `list([params])`
* author
* `retrieve(slug[, params])`
* `list([params])`
* feed
* `retrieve(type[, params])`
* content
* `retrieve(keys)`
## Test mode
Test mode can be used to setup a staging website for previewing content or for testing content during local development. To fetch content from test mode add an additional argument, `true`, to the package initialization:
```js
var butter = require('buttercms')('your butter API token', true);
```
Or use an environment variable:
```js
var butter = require('buttercms')('your butter API token', process.env.BUTTER_TEST_MODE);
```
## Documentation
Documentation is available at https://buttercms.com/docs/api/node