TipTap mark extension for creating superscript text formatting with keyboard shortcuts and HTML parsing.
—
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Pending
The risk profile of this skill
The TipTap Extension Superscript provides superscript text formatting functionality for TipTap editors. It creates a mark extension that allows users to format text as superscript with keyboard shortcuts, HTML parsing, and programmatic commands.
npm install @tiptap/extension-superscriptimport { Superscript } from "@tiptap/extension-superscript";For default import:
import Superscript from "@tiptap/extension-superscript";For CommonJS:
const { Superscript } = require("@tiptap/extension-superscript");import { Editor } from "@tiptap/core";
import { Superscript } from "@tiptap/extension-superscript";
// Add to editor extensions
const editor = new Editor({
extensions: [
Superscript.configure({
HTMLAttributes: {
class: 'my-superscript-class',
},
}),
],
content: '<p>E=mc<sup>2</sup></p>',
});
// Use commands programmatically
editor.commands.setSuperscript();
editor.commands.toggleSuperscript();
editor.commands.unsetSuperscript();
// Use keyboard shortcut: Cmd/Ctrl + .Creates a TipTap mark extension for superscript text formatting.
/**
* Superscript mark extension for TipTap editors
* Extends Mark.create with SuperscriptExtensionOptions
*/
const Superscript: Mark<SuperscriptExtensionOptions>;Configure the superscript extension with HTML attributes and other options.
/**
* Configuration options for the Superscript extension
*/
interface SuperscriptExtensionOptions {
/**
* HTML attributes to add to the superscript element
* @default {}
* @example { class: 'foo' }
*/
HTMLAttributes: Record<string, any>;
}The extension adds three commands to the TipTap editor's command interface.
/**
* Set a superscript mark on the current selection
* @returns Command execution result
* @example editor.commands.setSuperscript()
*/
setSuperscript(): boolean;
/**
* Toggle a superscript mark on the current selection
* @returns Command execution result
* @example editor.commands.toggleSuperscript()
*/
toggleSuperscript(): boolean;
/**
* Unset/remove a superscript mark from the current selection
* @returns Command execution result
* @example editor.commands.unsetSuperscript()
*/
unsetSuperscript(): boolean;The extension automatically parses HTML content containing superscript formatting.
Supported HTML Elements:
<sup> tags - Standard HTML superscript elementsvertical-align: super CSS styleHTML Rendering:
<sup> elementsDefault Shortcut:
Cmd + . (Mac) / Ctrl + . (Windows/Linux) - Toggles superscript formattingimport { Editor } from "@tiptap/core";
import { Superscript } from "@tiptap/extension-superscript";
const editor = new Editor({
extensions: [Superscript],
content: '<p>Water is H<sub>2</sub>O and E=mc<sup>2</sup></p>',
});
// Toggle superscript on selected text
editor.commands.toggleSuperscript();const editor = new Editor({
extensions: [
Superscript.configure({
HTMLAttributes: {
class: 'custom-superscript',
'data-type': 'superscript',
},
}),
],
});// Select text and apply superscript
editor
.chain()
.focus()
.setTextSelection({ from: 1, to: 5 })
.setSuperscript()
.run();
// Remove superscript from selection
editor
.chain()
.focus()
.setTextSelection({ from: 1, to: 5 })
.unsetSuperscript()
.run();/**
* Configuration options interface for the Superscript extension
*/
interface SuperscriptExtensionOptions {
/**
* HTML attributes to add to the superscript element
* @default {}
*/
HTMLAttributes: Record<string, any>;
}
/**
* Superscript mark extension instance
* Created using Mark.create<SuperscriptExtensionOptions>
*/
declare const Superscript: Mark<SuperscriptExtensionOptions>;