sanity-plugin-wistia-input
Version:
Wistia input for Sanity v5
82 lines (61 loc) • 2 kB
Markdown
> This is a **Sanity Studio v5** plugin.
[](https://wistia.com/) input plugin for [Sanity](https://sanity.io/) that stores the media ID and hash ID for displaying on the front-end.

```sh
npm install sanity-plugin-wistia-input
```
Add it as a plugin in `sanity.config.ts` (or .js):
```ts
import {defineConfig} from 'sanity'
import {wistiaInput} from 'sanity-plugin-wistia-input'
export default defineConfig({
//...
plugins: [
wistiaInput({
token: '<your token here>',
accountSubdomain: '<your company url>', // Optional, i.e., <this bit>.wistia.com
fields: [
// Optional, extra fields to capture with your media.
defineField({
name: 'caption',
type: 'text',
}),
],
}),
],
})
```
Then use `wistiaMedia` as your field type:
```javascript
export default {
name: 'video',
title: 'Videos',
type: 'document',
fields: [
{
name: 'video',
type: 'wistiaMedia',
},
],
})
```
```js
{
id: 123456,
hashed_id: 'abc123',
// plus any config.fields you define e.g.., caption: 'abc'
}
```
- `id` can be used to query the [Wistia Data API](https://docs.wistia.com/reference/getting-started-with-the-data-api).
- `hashed_id` can be used to load an iframe on the front end i.e., `https://fast.wistia.net/embed/iframe/<hashed_id>`
[](LICENSE) © David Longworth. WISTIA is a trademark of Wistia, Inc. and has no affiliation with this project.
This plugin uses [@sanity/plugin-kit](https://github.com/sanity-io/plugin-kit) with default configuration for build & watch scripts.
See [Testing a plugin in Sanity Studio](https://github.com/sanity-io/plugin-kit#testing-a-plugin-in-sanity-studio)
on how to run this plugin with hotreload in the studio.