This is a Sanity Studio v3 plugin.
The Preflight plugin is a modular Sanity document extension for running various checks prior to publishing content.
Current available checks include:
- Dead Links: Ensure that all links in a document are reachable.
- SEO Audit: Automated report for SEO best practices.
npm install @planetary/sanity-plugin-preflight
Modify your deskStructure
file to include the following.
If you don't have a custom Structure Builder configuration, please see the official guide:
// deskStructure.ts
import {Preflight, DeadLinks} from '@planetary/sanity-plugin-preflight'
import {RocketIcon} from '@sanity/icons'
export const getDefaultDocumentNode = ({schemaType}) => {
// Only show the Preflight plugin on selected document types
if (['article', 'page'].includes(schemaType)) {
return S.document().views([
// Include the default content editor
S.view.form(),
// Add Preflight plugin
S.view
.component(
Preflight({
plugins: [DeadLinks()],
}),
)
.title('Preflight')
.icon(RocketIcon),
])
}
// Otherwise render the default content editor
return S.document().views([S.view.form()])
}
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.