Skip to content

An easy-to-use interface for making requests to the Blogger Feeds API

License

Notifications You must be signed in to change notification settings

yoimerdr/feeddy

Repository files navigation

feeddy

An easy-to-use interface for making requests to the Blogger Feeds API.

Install

Download the feeddy script and include it in your project.

<script src="./path-to/feeddy.js"></script>

or you can use

<script src="https://yoimerdr.github.io/feeddy/dist/feeddy.min.js"></script>

How to

Paginate posts

feeddy.posts({
  feed: {
    // For tests only you can use the 'https://cors-anywhere.herokuapp.com/' + your blog url.
    // Allow temporary access on https://cors-anywhere.herokuapp.com/corsdemo 
    blogUrl: '', // The blog url, or nothing if the current origin is the blogger blog. 
    params: feeddy.search.params()
      .limit(12)
      .build()
  },
  onTotal(handler) {
    handler.page(1); // retrieve the first 12 posts
  },
  onPosts(posts, blog) {
    console.log(posts);
  }
})

Search posts

feeddy.posts({
  feed: {
    blogUrl: '', // The blog url, or nothing if the current origin is the blogger blog. 
    params: feeddy.search.params()
      .limit(12)
      .query(
        feeddy.search.query()
          .terms('term') // The term for search, for terms with spaces use .exact() before .terms()
          .build()
      )
      .build()
  },
  onTotal(handler) {
    handler.page(1); // retrieves the first 12 posts
  },
  onPosts(posts, blog) {
    console.log(posts);
  }
})

Posts with the given categories only

feeddy.posts.withCategories({
  feed: {
    blogUrl: '', // The blog url, or nothing if the current origin is the blogger blog. 
    params: feeddy.search.params()
      .limit(12)
      .build()
  },
  categories: ['category', 'name'],
  onPosts(postsAndCounts, blog) {
    console.log(postsAndCounts); // will print the first 12 posts with the categories `category` or `name`
  }
})

Interact with the feeds only

Mapped feed

feeddy.feed({
  blogUrl: '', // The blog url, or nothing if the current origin is the blogger blog. 
  params: feeddy.search.params()
    .limit(12)
    .build()
}).then(console.log)

Raw feed

feeddy.feed.raw({
  blogUrl: '', // The blog url, or nothing if the current origin is the blogger blog. 
  params: feeddy.search.params()
    .limit(12)
    .build()
}).then(console.log)

Docs

You can read about the methods available and how responses are structured here.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Build your own

Clone the repository

git clone https://github.com/yoimerdr/feeddy.git

Install dependencies

Creates the lib folder

mkdir lib

Moves into

cd lib

Clones the jstls dependency

git clone https://github.com/yoimerdr/jstls.git

And edit the project as you wish.