Get a peek at our latest innovations at Sanity Product Day on Dec 8th β†’

Stackbit: Sourcebit Sanity

By Andrew Kumar

A Sanity source plugin for Sourcebit.

sourcebit-source-sanity

Coverage Status npm version

A Sanity source plugin for Sourcebit

πŸ‘©β€πŸ« Introduction

With this plugin, you can add Sanity as a data source for Sourcebit. To connect your Sanity account, you need an API token, your project ID and the name of your dataset.

πŸ— Installation

To install the plugin and add it to your project, run:

npm install sourcebit-source-sanity --save

πŸ’‘ You don't need to run this command if you start Sourcebit using the interactive setup process, as the CLI will install the plugin for you and add it as a dependency to your project.

βš™οΈ Configuration

The plugin accepts the following configuration parameters. They can be supplied in any of the following ways:

  • In the options object of the plugin configuration block inside sourcebit.js, with the value of the Property column as a key;
  • As an environment variable named after the Env variable column, when running the sourcebit fetch command;
  • As part of a .env file, with the value of the Env variable column separated by the value with an equals sign (e.g. MY_VARIABLE=my-value);
  • As a CLI parameter, when running the sourcebit fetch command, using the value of the Parameter column as the name of the parameter (e.g. sourcebit fetch --my-parameter).

| Property | Type | Visibility | Default value | Env variable | Parameter | Description | | ---------------------- | ------- | ----------- | ------------- | --------------------- | --------- | ------------------------------------------------------------------------------------------ | | accessToken | String | Private | | SANITY_ACCESS_TOKEN | | The Sanity API token. | | dataset | String | Public | | | | The name of the dataset. | | isPreview | Boolean | Public | false | | | Whether to include draft/unpublished entries. | | query | String | Public | "*[]" | | | The query to pass to the Sanity API. | | queryParameters | Object | Public | {} | | | The query parameters to pass to the Sanity API. | | projectId | String | Public | | | | The ID of the Sanity project. | | richTextOutputFormat | String | Public | html | | | The format to convert rich-text fields to. Accepted values: html, markdown and none. | | useCdn | Boolean | Public | false | | | Whether to use the Data API CDN. | | watch | Boolean | Public | | | watch | Whether to poll Sanity for content changes. |

πŸ‘€ Example configuration

sourcebit.js

module.exports = {
    plugins: [
        {
            module: require('sourcebit-source-sanity'),
            options: {
                accessToken: process.env['SANITY_ACCESS_TOKEN'],
                dataset: 'production',
                projectId: '1q2w3e4r'
            }
        }
    ]
};

.env

SANITY_ACCESS_TOKEN=123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ

πŸ§žβ€β™‚οΈ Interactive setup process

This plugin offers an interactive setup process via the npx create-sourcebit command.

πŸ“₯ Input

N/A

πŸ“€ Output

This plugin adds normalized entries to the objects data bucket.

Install command

npm install sourcebit-source-sanity --save

Contributor