Giter Site home page Giter Site logo

piducancore / gatsby-source-cloudinary-metadata Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 1.0 10 KB

This plugin turns your Cloudinary media files including its embedded metadata into Gatsby nodes.

Home Page: https://www.npmjs.com/package/@piducancore/gatsby-source-cloudinary-metadata

JavaScript 100.00%
cloudinary image-metadata gatsbyjs gatsby-plugin

gatsby-source-cloudinary-metadata's Introduction

gatsby-source-cloudinary-metadata

This plugin turns your Cloudinary media files including its embedded metadata into Gatsby nodes.

Requirements

All you need is a Cloudinary account with some images, your cloud_name, api_key and api_secret.

Usage

In your Gatsby project run to following to install:

yarn add @piducancore/gatsby-source-cloudinary-metadata

Then in your gatsby-config.js file, include the plugin like this:

// gatsby-config.js
module.exports = {
  plugins: [
    // ...
    {
      resolve: `@piducancore/gatsby-source-cloudinary-metadata`,
      options: {
        cloud_name: "YOUR_CLOUD_NAME", // required
        api_key: "YOUR_API_KEY", // required
        api_secret: "YOUR_API_SECRET", // required
        max_results: 500, // optional, default: 10
        prefix: `uploads/`, // optional
        type: `upload`, // required if prefix param specified above, otherwise optional
      },
    },
  ],
}

That's it.

Example

To see the newly created Gatsby nodes you can go to your site's GraphiQL (http://localhost:8000/___graphql) and try something like the following.

Sample query

If we wanted to get all the nodes this plugin created (allCloudinaryMedia) sorted by the embedded metadata's creation date (CreateDate) we could do something like this:

{
  allCloudinaryMedia(
    sort: { order: ASC, fields: image_metadata___CreateDate }
  ) {
    totalCount
    nodes {
      public_id
      image_metadata {
        CreateDate
      }
    }
  }
}

Sample response

And we should get something like this:

{
  "data": {
    "allCloudinaryMedia": {
      "totalCount": 2,
      "nodes": [
        {
          "public_id": "uploads/some_image",
          "image_metadata": {
            "CreateDate": "2019:10:19 20:21:28"
          }
        },
        {
          "public_id": "uploads/some_other",
          "image_metadata": {
            "CreateDate": "2019:10:20 16:10:44"
          }
        }
      ]
    }
  }
}

Notes

The plugin makes a first query to the Cloudinary API to get your images based on the options provided at configuration. Then uses the images public_id values to query them again one by one, to get the image_metadata from each.

In theory, every optional parameter for the resources endpoint should work to query and/or filter your images for the first query mentioned above.

You can check all optional parameters at the Get resources section of the Cloudinary API documentation.

gatsby-source-cloudinary-metadata's People

Contributors

piducancore avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

sparlingo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.