This is a Sanity Studio v3 plugin. For the v2 version, please refer to the v2 repository.
This is a (triple) fork of the Sanity Plugin Table, migrated to Sanity Studio V3. Only the v3 version is maintained by Sanity.io.
Big thanks to the original contributors for their work!
- Original version: rdunk/sanity-plugin-table.
- Further improvements in fork MathisBullinger/sanity-plugin-another-table.
- Initial V3 port: bitfo/sanity-plugin-table
Sometimes a table is just what you need. However, before using the Table plugin, consider if there are other ways to model your data that are:
- easier to edit and validate
- easier to query
Approaching your schemas in a more structured manner can often pay dividends down the line.
Install using npm
$ npm i --save @sanity/table
Add the plugin to your project configuration. Then use the type in your schemas
// sanity.config.ts
import { defineConfig } from 'sanity';
import { table } from '@sanity/table';
export default defineConfig({
name: 'default',
title: 'My Cool Project',
projectId: 'my-project-id',
dataset: 'production',
plugins: [
// Include the table plugin
table(),
],
schema: {
types: [
{
name: 'product',
title: 'Product',
type: 'document',
fields: [
{
// Include the table as a field
// Giving it a semantic title
name: 'sizeChart',
title: 'Size Chart',
type: 'table',
},
],
},
],
},
});
You can optionally configure the _type
used for the row object in the table schema by passing a rowType
when adding the plugin. For most users this is unnecessary, but it can be useful if you are migrating from a legacy table plugin.
export default defineConfig({
// ...
plugins: [
table({
rowType: 'my-custom-row-type',
}),
],
// ...
});
MIT © ʞunp ʇɹǝdnɹ, Mathis Bullinger, Dave Lucia and Sanity.io
This plugin uses @sanity/plugin-kit with default configuration for build & watch scripts.
See Testing a plugin in Sanity Studio on how to run this plugin with hotreload in the studio.
Run "CI & Release" workflow. Make sure to select the main branch and check "Release new version".
Semantic release will only release on configured branches, so it is safe to run release on any branch.