The doggy source plugin you'll love.
gatsby-source-dogapi is a simple Gatsby source plugin to add thedogapi.com doggy features to your Gatsby website.
This source plugin lack of features right now but you can use it to play with the API and get random dog pictures. I'll add more options as soon as I can.
The Dog API is a free service and you can play with it without the needs for an API key.
However if you want to play with more datas, you'll need to signup here and get your API key ready for the next steps.
- Install Gatsby
- Install the plugin using
yarn add -D gatsby-source-dogapi
ornpm i -D gatsby-source-dogapi
- Configure the plugin in
gatsby-config.js
file:
module.exports = {
siteMetadata: {
title: 'Wow! Such site! Very title',
},
plugins: [
{
resolve: "gatsby-source-dogapi",
options: {
"limit": 10,
"page": 0,
"order": "DESC",
"x-api-key": "YOUR_API_KEY",
},
},
'gatsby-plugin-offline',
],
}
This source plugin supports all options present within the Dog API but you can only get images for now. Here's the options you can use:
Option | Default | Description |
---|---|---|
limit | 1 | [Optional] number of images to return valid 1 to 10 |
page | 0 | [Optional] only works if account_id is present to page through your own uploads |
order | DESC | [Optional] only works if account_id is present, either ASC or DESC - ascending or descending |
x-api-key | null | [Optional] your API key (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) |
Get more documentation about The Dog API here.
To query 10 random images:
{
allDogApiPic {
edges {
node {
id
url
sub_id
created_at
original_filename
}
}
}
}
To query 1 random image:
{
allDogApiPic(limit: 1) {
edges {
node {
id
url
sub_id
created_at
original_filename
}
}
}
}
Example output:
{
"data": {
"allDogApiPic": {
"edges": [
{
"node": {
"id": "22ae1251-42f1-55b7-835a-77b59115b76c",
"url": "https://cdn2.thedogapi.com/images/Skx45T6EQ.gif",
"sub_id": "tumblr_o6kk05nXYJ1tlb56zo1_400.gif",
"created_at": "2018-07-31T11:38:15.000Z",
"original_filename": "tumblr_o6kk05nXYJ1tlb56zo1_400.gif"
}
}
]
}
}
}
Here's a link to your localhost query.
Released under the MIT license.