bloggify-adapter

The base class for Bloggify adapters.

Usage no npm install needed!

<script type="module">
  import bloggifyAdapter from 'https://cdn.skypack.dev/bloggify-adapter';
</script>

README

bloggify-adapter

Version Downloads

The base class for Bloggify adapters.

:cloud: Installation

# Using npm
npm install --save bloggify-adapter

# Using yarn
yarn add bloggify-adapter

:clipboard: Example

const BloggifyAdapter = require("bloggify-adapter");

// Extend a class from the BloggifyAdapter class
class MyAdapter extends BloggifyAdapter {
    getArticleById (id, cb) {
        cb(null, {
            id: id
        });
    }
}

// Create a new instance of this adapter.
let adapter = new MyAdapter();

adapter.getArticleById(123, (err, data) => console.log(err || data));
// => { id: 123 }

:question: Get Help

There are few ways to get help:

  1. Please post questions on Stack Overflow. You can open issues with questions, as long you add a link to your Stack Overflow question.
  2. For bug reports and feature requests, open issues. :bug:

:memo: Documentation

BloggifyAdapter()

The BloggifyAdapter base class. All the methods are abstract. They should be overridden in custom adapters.

getArticleById(id, cb)

Get an article by id.

Note this method should be overridden in your custom adapter.

Params

  • String id: The article id.
  • Function cb: The callback function.

getArticles(query, cb)

Search articles by a query.

Note this method should be overridden in your custom adapter.

Params

  • Object query: The search query.
  • Function cb: The callback function.

createArticle(title, content, custom, cb)

Create a new article.

Note this method should be overridden in your custom adapter.

Params

  • String title: The article title.
  • String content: The article content.
  • Object custom: Custom metadata about the article.
  • Function cb: The callback function.

saveArticle(id, title, content, custom, cb)

Save an article.

Note this method should be overridden in your custom adapter.

Params

  • String id: The article id.
  • String title: The article title.
  • String content: The article content.
  • Object custom: Custom metadata about the article.
  • Function cb: The callback function.

deleteArticle(id, cb)

Delete an article.

Note this method should be overridden in your custom adapter.

Params

  • String id: The article id.
  • Function cb: The callback function.

deleteArticles(ids, cb)

Delete multiple articles.

Note this method should be overridden in your custom adapter.

Params

  • Array ids: An array of article ids.
  • Function cb: The callback function.

getPageBySlug(slug, cb)

Get a page by slug.

Note this method should be overridden in your custom adapter.

Params

  • String slug: The page slug.
  • Function cb: The callback function.

getPages(query, cb)

Get pages by a query.

Note this method should be overridden in your custom adapter.

Params

  • Object query: The query.
  • Function cb: The callback function.

createPage(title, content, custom, cb)

Create a page.

Note this method should be overridden in your custom adapter.

Params

  • String title: The article title.
  • String content: The article content.
  • Object custom: Custom metadata about the article.
  • Function cb: The callback function.

savePage(title, content, custom, cb)

Save a page.

Note this method should be overridden in your custom adapter.

Params

  • String title: The article title.
  • String content: The article content.
  • Object custom: Custom metadata about the article.
  • Function cb: The callback function.

deletePage(slug, cb)

Delete a page.

Note this method should be overridden in your custom adapter.

Params

  • String slug: The page slug.
  • Function cb: The callback function.

deletePages(slugs, cb)

Delete multiple pages.

Note this method should be overridden in your custom adapter.

Params

  • Array slugs: An array of page slugs.
  • Function cb: The callback function.

:yum: How to contribute

Have an idea? Found a bug? See how to contribute.

:dizzy: Where is this library used?

If you are using this library in one of your projects, add it in this list. :sparkles:

  • bloggify-markdown-adapter
  • bloggify-sql-adapter
  • bloggify-sequelize-adapter

:scroll: License

MIT © Bloggify