Skip to content

stackbit/sourcebit-source-sanity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sourcebit-source-sanity

Node CI 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.