npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

sanity-plugin-asset-source-pexels

v3.0.2

Published

> Be careful with your *API key*. If you use this Sanity plugin, it's a good idea to make your repository private. Technically, the said API key can be accessed inside of the JS-bundle if someone knows the domain for the studio.

Downloads

34

Readme

sanity-plugin-asset-source-pexels

| This is a Sanity Studio v3 plugin. For the v2 version, please refer to the v2-branch

What is it?

Search for photos on Pexels and add them to your project inside Sanity Studio.

Installation

sanity install asset-source-pexels

or

npm install --save sanity-plugin-asset-source-pexels

or

yarn add sanity-plugin-asset-source-pexels

Configuration

Using your own API (recommended)

The plugin can be configured to provide your Pexels API Key.

export default defineConfig({
  plugins: [
    pexelsImageAsset({
      API_KEY: 'YOUR_PEXELS_API_KEY',
    }),
  ],
})

Be careful with your API key. If you use this Sanity plugin, it's a good idea to make your repository private. Technically, the said API key can be accessed inside of the JS-bundle if someone knows the domain for the studio.


Using proxy client (alternative)

Alternatively, if you like to use the proxy client hosted in AWS (source here), then all you need to do is add it as a plugin in your sanity.config.ts (or .js).

export default defineConfig({
  plugins: [
    pexelsImageAsset({
      useProxyClient: true,
    }),
  ],
})

I don't have the resource to always make sure the proxy client is available at all times so use at your own discretion.


Additional options

You can configure how many photos are returned initially on load from search and succeeding results via results.perPage which is by default set to 24. Also, we set your search keyword to debounced by 500 ms so as not to blast your API usage as soon as your search keyword changes. You can change this with by adjusting searchKeyword to any number of your liking.

export default defineConfig({
  plugins: [
    pexelsImageAsset({
      // ..., <- previous config here `API_KEY` or `useProxyClient`
      results: {
        perPage: 50,
      },
      searchTimeout: 1000,
    }),
  ],
})

Manually configure asset sources

If you need to configure when Pexels should be available as an asset source, filter it out as needed in form.image.assetSources:

import {pexelsImageAsset} from 'sanity-plugin-asset-source-pexels'

export default defineConfig({
  // ...
  plugins: [pexelsImageAsset()],
  form: {
    image: {
      assetSources: (previousAssetSources, {schema}) => {
        if (schema.name === 'movie-image') {
          // remove pexels from `movie-image` types
          return previousAssetSources.filter(({name}) => name !== 'pexels')
        }
        return previousAssetSources
      },
    },
  },
})

License

MIT © Dorell James See LICENSE