diff --git a/docs/src/demos/Marks/TextStyle/index.vue b/docs/src/demos/Marks/TextStyle/index.vue new file mode 100644 index 00000000..ee4a1c63 --- /dev/null +++ b/docs/src/demos/Marks/TextStyle/index.vue @@ -0,0 +1,47 @@ + + + diff --git a/docs/src/docPages/api/marks/text-style.md b/docs/src/docPages/api/marks/text-style.md new file mode 100644 index 00000000..cc1440e4 --- /dev/null +++ b/docs/src/docPages/api/marks/text-style.md @@ -0,0 +1,16 @@ +# Text Style + +## Installation +```bash +# With npm +npm install @tiptap/extension-text-style + +# Or: With Yarn +yarn add @tiptap/extension-text-style +``` + +## Source code +[packages/extension-text-style/](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-text-style/) + +## Usage + diff --git a/docs/src/links.yaml b/docs/src/links.yaml index 23dd30c7..67b6e205 100644 --- a/docs/src/links.yaml +++ b/docs/src/links.yaml @@ -114,6 +114,9 @@ link: /api/marks/link - title: Strike link: /api/marks/strike + - title: Text Style + link: /api/marks/text-style + draft: true - title: Underline link: /api/marks/underline - title: Extensions diff --git a/packages/extension-text-style/index.ts b/packages/extension-text-style/index.ts new file mode 100644 index 00000000..827137cb --- /dev/null +++ b/packages/extension-text-style/index.ts @@ -0,0 +1,25 @@ +import { createMark } from '@tiptap/core' + +const TextStyle = createMark({ + name: 'textStyle', + + parseHTML() { + return [ + { + tag: 'span', + }, + ] + }, + + renderHTML({ attributes }) { + return ['span', attributes, 0] + }, +}) + +export default TextStyle + +declare module '@tiptap/core/src/Editor' { + interface AllExtensions { + TextStyle: typeof TextStyle, + } +} diff --git a/packages/extension-text-style/package.json b/packages/extension-text-style/package.json new file mode 100644 index 00000000..4e4d5187 --- /dev/null +++ b/packages/extension-text-style/package.json @@ -0,0 +1,17 @@ +{ + "name": "@tiptap/extension-text-style", + "version": "1.0.0", + "source": "index.ts", + "main": "dist/tiptap-extension-text-style.js", + "umd:main": "dist/tiptap-extension-text-style.umd.js", + "module": "dist/tiptap-extension-text-style.mjs", + "unpkg": "dist/tiptap-extension-text-style.js", + "jsdelivr": "dist/tiptap-extension-text-style.js", + "files": [ + "src", + "dist" + ], + "peerDependencies": { + "@tiptap/core": "2.x" + } +}