This is a Sanity Studio v3 plugin. For the v2 version, please refer to the v2-branch.
sanity-plugin-latex-input adds support for latex
schema type, so it can be used in Portable Text Editor (PTE) in Sanity Studio.
npm install --save sanity-plugin-latex-input
or
yarn add sanity-plugin-latex-input
Import and add the plugin to your studio config in sanity.config.ts (or .js):
import { latexInput } from "sanity-plugin-latex-input";
export default defineConfig({
/* ... */
plugins: [
latexInput()
]
})
You may now use the type name latex
in your schema, such as in portable text.
import React from 'react'
const mathInlineIcon = () => (
<span>
<span style={{ fontWeight: 'bold' }}>∑</span>b
</span>
)
const mathIcon = () => <span style={{ fontWeight: 'bold' }}>∑</span>
export default {
name: 'portableTextWithLatex',
type: 'array',
title: 'Body',
of: [
{
type: 'block',
title: 'Block',
of: [
{ type: 'latex', icon: mathInlineIcon, title: 'Inline math' },
],
},
{ type: 'latex', icon: mathIcon, title: 'Math block' },
],
}
The Portable Text editor will render a preview of the contents with KaTeX.
MIT-licensed. See LICENSE.
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 v3 branch and check "Release new version".
Semantic release will only release on configured branches, so it is safe to run release on any branch.