@platejs/footnote
v53.0.0
Published
Footnote plugins for Plate
Readme
@platejs/footnote
Footnote plugins for Plate.
This package adds dedicated footnote reference and footnote definition nodes, plus transforms and queries for inserting, resolving, navigating, and repairing footnotes.
Features
- Parse GFM footnote references and definitions into Plate nodes
- Serialize footnote nodes back to markdown footnotes
- Insert a reference and matching definition with one transform
- Allocate the next free numeric identifier automatically
- Create a missing definition for an unresolved reference
- Detect and repair later duplicate definitions
- Navigate between references and definitions
Installation
npm install @platejs/footnote @platejs/markdown remark-gfmUsage
import {
FootnoteDefinitionPlugin,
FootnoteReferencePlugin,
} from '@platejs/footnote/react';
import { MarkdownPlugin } from '@platejs/markdown';
import { createPlateEditor } from 'platejs/react';
import remarkGfm from 'remark-gfm';
const editor = createPlateEditor({
plugins: [
FootnoteReferencePlugin,
FootnoteDefinitionPlugin,
MarkdownPlugin.configure({
options: {
remarkPlugins: [remarkGfm],
},
}),
],
});Package Surface
Queries:
api.footnote.nextIdapi.footnote.definitionapi.footnote.definitionsapi.footnote.definitionTextapi.footnote.duplicateDefinitionsapi.footnote.duplicateIdentifiersapi.footnote.hasDuplicateDefinitionsapi.footnote.isDuplicateDefinitionapi.footnote.isResolvedapi.footnote.references
Transforms:
tf.insert.footnotetf.footnote.createDefinitiontf.footnote.focusDefinitiontf.footnote.focusReferencetf.footnote.normalizeDuplicateDefinition
Documentation
- Footnote docs: https://platejs.org/docs/footnote
- Markdown docs: https://platejs.org/docs/markdown
