mirror of
https://github.com/ueberdosis/tiptap.git
synced 2025-06-07 09:25:29 +08:00
docs: update content
This commit is contained in:
parent
680ce9b7aa
commit
accceccd09
@ -6,128 +6,129 @@ export const SmilieReplacer = Extension.create({
|
||||
|
||||
addInputRules() {
|
||||
return [
|
||||
new InputRule(/-___-/, '😑'),
|
||||
new InputRule(/:'-\)/, '😂'),
|
||||
new InputRule(/':-\)/, '😅'),
|
||||
new InputRule(/':-D/, '😅'),
|
||||
new InputRule(/>:-\)/, '😆'),
|
||||
new InputRule(/-__-/, '😑'),
|
||||
new InputRule(/':-\(/, '😓'),
|
||||
new InputRule(/:'-\(/, '😢'),
|
||||
new InputRule(/>:-\(/, '😠'),
|
||||
new InputRule(/O:-\)/, '😇'),
|
||||
new InputRule(/0:-3/, '😇'),
|
||||
new InputRule(/0:-\)/, '😇'),
|
||||
new InputRule(/0;\^\)/, '😇'),
|
||||
new InputRule(/O;-\)/, '😇'),
|
||||
new InputRule(/0;-\)/, '😇'),
|
||||
new InputRule(/O:-3/, '😇'),
|
||||
new InputRule(/:'\)/, '😂'),
|
||||
new InputRule(/:-D/, '😃'),
|
||||
new InputRule(/':\)/, '😅'),
|
||||
new InputRule(/'=\)/, '😅'),
|
||||
new InputRule(/':D/, '😅'),
|
||||
new InputRule(/'=D/, '😅'),
|
||||
new InputRule(/>:\)/, '😆'),
|
||||
new InputRule(/>;\)/, '😆'),
|
||||
new InputRule(/>=\)/, '😆'),
|
||||
new InputRule(/;-\)/, '😉'),
|
||||
new InputRule(/\*-\)/, '😉'),
|
||||
new InputRule(/;-\]/, '😉'),
|
||||
new InputRule(/;\^\)/, '😉'),
|
||||
new InputRule(/B-\)/, '😎'),
|
||||
new InputRule(/8-\)/, '😎'),
|
||||
new InputRule(/B-D/, '😎'),
|
||||
new InputRule(/8-D/, '😎'),
|
||||
new InputRule(/:-\*/, '😘'),
|
||||
new InputRule(/:\^\*/, '😘'),
|
||||
new InputRule(/:-\)/, '🙂'),
|
||||
new InputRule(/-_-/, '😑'),
|
||||
new InputRule(/:-X/, '😶'),
|
||||
new InputRule(/:-#/, '😶'),
|
||||
new InputRule(/:-x/, '😶'),
|
||||
new InputRule(/>.</, '😣'),
|
||||
new InputRule(/:-O/, '😮'),
|
||||
new InputRule(/:-o/, '😮'),
|
||||
new InputRule(/O_O/, '😮'),
|
||||
new InputRule(/>:O/, '😮'),
|
||||
new InputRule(/:-P/, '😛'),
|
||||
new InputRule(/:-p/, '😛'),
|
||||
new InputRule(/:-Þ/, '😛'),
|
||||
new InputRule(/:-þ/, '😛'),
|
||||
new InputRule(/:-b/, '😛'),
|
||||
new InputRule(/>:P/, '😜'),
|
||||
new InputRule(/X-P/, '😜'),
|
||||
new InputRule(/x-p/, '😜'),
|
||||
new InputRule(/':\(/, '😓'),
|
||||
new InputRule(/'=\(/, '😓'),
|
||||
new InputRule(/>:\\/, '😕'),
|
||||
new InputRule(/>:\//, '😕'),
|
||||
new InputRule(/:-\//, '😕'),
|
||||
new InputRule(/:-./, '😕'),
|
||||
new InputRule(/>:\[/, '😞'),
|
||||
new InputRule(/:-\(/, '😞'),
|
||||
new InputRule(/:-\[/, '😞'),
|
||||
new InputRule(/:'\(/, '😢'),
|
||||
new InputRule(/;-\(/, '😢'),
|
||||
new InputRule(/#-\)/, '😵'),
|
||||
new InputRule(/%-\)/, '😵'),
|
||||
new InputRule(/X-\)/, '😵'),
|
||||
new InputRule(/>:\(/, '😠'),
|
||||
new InputRule(/0:3/, '😇'),
|
||||
new InputRule(/0:\)/, '😇'),
|
||||
new InputRule(/O:\)/, '😇'),
|
||||
new InputRule(/O=\)/, '😇'),
|
||||
new InputRule(/O:3/, '😇'),
|
||||
new InputRule(/<\/3/, '💔'),
|
||||
new InputRule(/:D/, '😃'),
|
||||
new InputRule(/=D/, '😃'),
|
||||
new InputRule(/;\)/, '😉'),
|
||||
new InputRule(/\*\)/, '😉'),
|
||||
new InputRule(/;\]/, '😉'),
|
||||
new InputRule(/;D/, '😉'),
|
||||
new InputRule(/B\)/, '😎'),
|
||||
new InputRule(/8\)/, '😎'),
|
||||
new InputRule(/:\*/, '😘'),
|
||||
new InputRule(/=\*/, '😘'),
|
||||
new InputRule(/:\)/, '🙂'),
|
||||
new InputRule(/=\]/, '🙂'),
|
||||
new InputRule(/=\)/, '🙂'),
|
||||
new InputRule(/:\]/, '🙂'),
|
||||
new InputRule(/:X/, '😶'),
|
||||
new InputRule(/:#/, '😶'),
|
||||
new InputRule(/=X/, '😶'),
|
||||
new InputRule(/=x/, '😶'),
|
||||
new InputRule(/:x/, '😶'),
|
||||
new InputRule(/=#/, '😶'),
|
||||
new InputRule(/:O/, '😮'),
|
||||
new InputRule(/:o/, '😮'),
|
||||
new InputRule(/:P/, '😛'),
|
||||
new InputRule(/=P/, '😛'),
|
||||
new InputRule(/:p/, '😛'),
|
||||
new InputRule(/=p/, '😛'),
|
||||
new InputRule(/:Þ/, '😛'),
|
||||
new InputRule(/:þ/, '😛'),
|
||||
new InputRule(/:b/, '😛'),
|
||||
new InputRule(/d:/, '😛'),
|
||||
new InputRule(/:\//, '😕'),
|
||||
new InputRule(/:\\/, '😕'),
|
||||
new InputRule(/=\//, '😕'),
|
||||
new InputRule(/=\\/, '😕'),
|
||||
new InputRule(/:L/, '😕'),
|
||||
new InputRule(/=L/, '😕'),
|
||||
new InputRule(/:\(/, '😞'),
|
||||
new InputRule(/:\[/, '😞'),
|
||||
new InputRule(/=\(/, '😞'),
|
||||
new InputRule(/;\(/, '😢'),
|
||||
new InputRule(/D:/, '😨'),
|
||||
new InputRule(/:\$/, '😳'),
|
||||
new InputRule(/=\$/, '😳'),
|
||||
new InputRule(/#\)/, '😵'),
|
||||
new InputRule(/%\)/, '😵'),
|
||||
new InputRule(/X\)/, '😵'),
|
||||
new InputRule(/:@/, '😠'),
|
||||
new InputRule(/<3/, '❤️'),
|
||||
new InputRule(/-___- /, '😑 '),
|
||||
new InputRule(/:'-\) /, '😂 '),
|
||||
new InputRule(/':-\) /, '😅 '),
|
||||
new InputRule(/':-D /, '😅 '),
|
||||
new InputRule(/>:-\) /, '😆 '),
|
||||
new InputRule(/-__- /, '😑 '),
|
||||
new InputRule(/':-\( /, '😓 '),
|
||||
new InputRule(/:'-\( /, '😢 '),
|
||||
new InputRule(/>:-\( /, '😠 '),
|
||||
new InputRule(/O:-\) /, '😇 '),
|
||||
new InputRule(/0:-3 /, '😇 '),
|
||||
new InputRule(/0:-\) /, '😇 '),
|
||||
new InputRule(/0;\^\) /, '😇 '),
|
||||
new InputRule(/O;-\) /, '😇 '),
|
||||
new InputRule(/0;-\) /, '😇 '),
|
||||
new InputRule(/O:-3 /, '😇 '),
|
||||
new InputRule(/:'\) /, '😂 '),
|
||||
new InputRule(/:-D /, '😃 '),
|
||||
new InputRule(/':\) /, '😅 '),
|
||||
new InputRule(/'=\) /, '😅 '),
|
||||
new InputRule(/':D /, '😅 '),
|
||||
new InputRule(/'=D /, '😅 '),
|
||||
new InputRule(/>:\) /, '😆 '),
|
||||
new InputRule(/>;\) /, '😆 '),
|
||||
new InputRule(/>=\) /, '😆 '),
|
||||
new InputRule(/;-\) /, '😉 '),
|
||||
new InputRule(/\*-\) /, '😉 '),
|
||||
new InputRule(/;-\] /, '😉 '),
|
||||
new InputRule(/;\^\) /, '😉 '),
|
||||
new InputRule(/B-\) /, '😎 '),
|
||||
new InputRule(/8-\) /, '😎 '),
|
||||
new InputRule(/B-D /, '😎 '),
|
||||
new InputRule(/8-D /, '😎 '),
|
||||
new InputRule(/:-\* /, '😘 '),
|
||||
new InputRule(/:\^\* /, '😘 '),
|
||||
new InputRule(/:-\) /, '🙂 '),
|
||||
new InputRule(/-_- /, '😑 '),
|
||||
new InputRule(/:-X /, '😶 '),
|
||||
new InputRule(/:-# /, '😶 '),
|
||||
new InputRule(/:-x /, '😶 '),
|
||||
new InputRule(/>.< /, '😣 '),
|
||||
new InputRule(/:-O /, '😮 '),
|
||||
new InputRule(/:-o /, '😮 '),
|
||||
new InputRule(/O_O /, '😮 '),
|
||||
new InputRule(/>:O /, '😮 '),
|
||||
new InputRule(/:-P /, '😛 '),
|
||||
new InputRule(/:-p /, '😛 '),
|
||||
new InputRule(/:-Þ /, '😛 '),
|
||||
new InputRule(/:-þ /, '😛 '),
|
||||
new InputRule(/:-b /, '😛 '),
|
||||
new InputRule(/>:P /, '😜 '),
|
||||
new InputRule(/X-P /, '😜 '),
|
||||
new InputRule(/x-p /, '😜 '),
|
||||
new InputRule(/':\( /, '😓 '),
|
||||
new InputRule(/'=\( /, '😓 '),
|
||||
new InputRule(/>:\\ /, '😕 '),
|
||||
new InputRule(/>:\/ /, '😕 '),
|
||||
new InputRule(/:-\/ /, '😕 '),
|
||||
new InputRule(/:-. /, '😕 '),
|
||||
new InputRule(/>:\[ /, '😞 '),
|
||||
new InputRule(/:-\( /, '😞 '),
|
||||
new InputRule(/:-\[ /, '😞 '),
|
||||
new InputRule(/:'\( /, '😢 '),
|
||||
new InputRule(/;-\( /, '😢 '),
|
||||
new InputRule(/#-\) /, '😵 '),
|
||||
new InputRule(/%-\) /, '😵 '),
|
||||
new InputRule(/X-\) /, '😵 '),
|
||||
new InputRule(/>:\( /, '😠 '),
|
||||
new InputRule(/0:3 /, '😇 '),
|
||||
new InputRule(/0:\) /, '😇 '),
|
||||
new InputRule(/O:\) /, '😇 '),
|
||||
new InputRule(/O=\) /, '😇 '),
|
||||
new InputRule(/O:3 /, '😇 '),
|
||||
new InputRule(/<\/3 /, '💔 '),
|
||||
new InputRule(/:D /, '😃 '),
|
||||
new InputRule(/=D /, '😃 '),
|
||||
new InputRule(/;\) /, '😉 '),
|
||||
new InputRule(/\*\) /, '😉 '),
|
||||
new InputRule(/;\] /, '😉 '),
|
||||
new InputRule(/;D /, '😉 '),
|
||||
new InputRule(/B\) /, '😎 '),
|
||||
new InputRule(/8\) /, '😎 '),
|
||||
new InputRule(/:\* /, '😘 '),
|
||||
new InputRule(/=\* /, '😘 '),
|
||||
new InputRule(/:\) /, '🙂 '),
|
||||
new InputRule(/=\] /, '🙂 '),
|
||||
new InputRule(/=\) /, '🙂 '),
|
||||
new InputRule(/:\] /, '🙂 '),
|
||||
new InputRule(/:X /, '😶 '),
|
||||
new InputRule(/:# /, '😶 '),
|
||||
new InputRule(/=X /, '😶 '),
|
||||
new InputRule(/=x /, '😶 '),
|
||||
new InputRule(/:x /, '😶 '),
|
||||
new InputRule(/=# /, '😶 '),
|
||||
new InputRule(/:O /, '😮 '),
|
||||
new InputRule(/:o /, '😮 '),
|
||||
new InputRule(/:P /, '😛 '),
|
||||
new InputRule(/=P /, '😛 '),
|
||||
new InputRule(/:p /, '😛 '),
|
||||
new InputRule(/=p /, '😛 '),
|
||||
new InputRule(/:Þ /, '😛 '),
|
||||
new InputRule(/:þ /, '😛 '),
|
||||
new InputRule(/:b /, '😛 '),
|
||||
new InputRule(/d: /, '😛 '),
|
||||
new InputRule(/:\/ /, '😕 '),
|
||||
new InputRule(/:\\ /, '😕 '),
|
||||
new InputRule(/=\/ /, '😕 '),
|
||||
new InputRule(/=\\ /, '😕 '),
|
||||
new InputRule(/:L /, '😕 '),
|
||||
new InputRule(/=L /, '😕 '),
|
||||
new InputRule(/:\( /, '😞 '),
|
||||
new InputRule(/:\[ /, '😞 '),
|
||||
new InputRule(/=\( /, '😞 '),
|
||||
new InputRule(/;\( /, '😢 '),
|
||||
new InputRule(/D: /, '😨 '),
|
||||
new InputRule(/:\$ /, '😳 '),
|
||||
new InputRule(/=\$ /, '😳 '),
|
||||
new InputRule(/#\) /, '😵 '),
|
||||
new InputRule(/%\) /, '😵 '),
|
||||
new InputRule(/X\) /, '😵 '),
|
||||
new InputRule(/:@ /, '😠 '),
|
||||
new InputRule(/<3 /, '❤️ '),
|
||||
new InputRule(/\/shrug/, '¯\\_(ツ)_/¯'),
|
||||
]
|
||||
},
|
||||
})
|
||||
|
@ -17,7 +17,7 @@ const CustomDocument = Document.extend({
|
||||
})
|
||||
|
||||
const CustomTaskItem = TaskItem.extend({
|
||||
content: 'text*',
|
||||
content: 'inline*',
|
||||
})
|
||||
|
||||
export default {
|
||||
|
@ -1,5 +0,0 @@
|
||||
# Advanced Example
|
||||
|
||||
Use a custom list of extensions.
|
||||
|
||||
<demo name="HandleExtensions" />
|
@ -182,6 +182,8 @@ new Editor({
|
||||
})
|
||||
```
|
||||
|
||||
You can use that to hook into event handlers and pass - for example - a custom paste handler, too.
|
||||
|
||||
### Parse options
|
||||
Passed content is parsed by ProseMirror. To hook into the parsing, you can pass `parseOptions` which are then handled by [ProseMirror](https://prosemirror.net/docs/ref/#model.ParseOptions).
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Concept
|
||||
# Introduction
|
||||
tiptap is a friendly wrapper around [ProseMirror](https://ProseMirror.net). Although tiptap tries to hide most of the complexity of ProseMirror, it’s built on top of its APIs and we recommend you to read through the [ProseMirror Guide](https://ProseMirror.net/docs/guide/) for advanced usage.
|
||||
|
||||
### Structure
|
||||
@ -13,14 +13,15 @@ Extensions add [nodes](/api/nodes), [marks](/api/marks) and/or [functionalities]
|
||||
## Vocabulary
|
||||
ProseMirror has its own vocabulary and you’ll stumble upon all those words now and then. Here is a short overview of the most common words we use in the documentation.
|
||||
|
||||
| Word | Description |
|
||||
| ----------- | --------------------------------------------------------------------------------- |
|
||||
| Schema | Configures the structure your content can have. |
|
||||
| Document | The actual content in your editor. |
|
||||
| State | Everything to describe the current content and selection of your editor. |
|
||||
| Transaction | A change to the state (updated selection, content, …) |
|
||||
| Extension | Registeres new functionality. |
|
||||
| Node | Nodes are a type of content, for example a heading or a paragraph. |
|
||||
| Mark | One or multiple marks can be applied to nodes, for example for inline formatting. |
|
||||
| Command | Execute an action inside the editor, that somehow changes the state. |
|
||||
| Decoration | Styling on top of the document, for example to highlight mistakes. |
|
||||
| Word | Description |
|
||||
| ----------- | ------------------------------------------------------------------------ |
|
||||
| Schema | Configures the structure your content can have. |
|
||||
| Document | The actual content in your editor. |
|
||||
| State | Everything to describe the current content and selection of your editor. |
|
||||
| Transaction | A change to the state (updated selection, content, …) |
|
||||
| Extension | Registeres new functionality. |
|
||||
| Node | A type of content, for example a heading or a paragraph. |
|
||||
| Mark | Can be applied to nodes, for example for inline formatting. |
|
||||
| Command | Execute an action inside the editor, that somehow changes the state. |
|
||||
| Decoration | Styling on top of the document, for example to highlight mistakes. |
|
||||
|
@ -6,7 +6,7 @@ There is no extension or example yet, but it’s definitely on our list to build
|
||||
If you want to give it a shot yourself, you could start altering the [`Mention`](/api/nodes/mention) node. This uses the [`Suggestion`](/api/utilities/suggestion) utility, which should help with an autocomplete and such things.
|
||||
|
||||
:::pro Fund the development ♥
|
||||
We need your support to maintain, update, support and develop tiptap 2. If you’re waiting for this extension, [become a sponsor and fund our work](/sponsor).
|
||||
We need your support to maintain, update, support and develop tiptap. If you’re waiting for this extension, [become a sponsor and fund our work](/sponsor).
|
||||
:::
|
||||
|
||||
## Bring your own emoji picker
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Hashtag
|
||||
|
||||
:::pro Fund the development ♥
|
||||
We need your support to maintain, update, support and develop tiptap 2. If you’re waiting for this extension, [become a sponsor and fund our work](/sponsor).
|
||||
We need your support to maintain, update, support and develop tiptap. If you’re waiting for this extension, [become a sponsor and fund our work](/sponsor).
|
||||
:::
|
||||
|
||||
TODO
|
||||
|
@ -39,7 +39,7 @@ yarn add @tiptap/vue-2
|
||||
|
||||
And yes, we plan to support React, too. Meanwhile, you can roll your own `ReactRenderer`, but don’t forget to share it with the community.
|
||||
|
||||
It’s also possible to use plain JavaScript, but that is probably a lot more work.
|
||||
It’s also possible to use Vanilla JavaScript, but that is probably a lot more work.
|
||||
|
||||
## Settings
|
||||
| Option | Type | Default | Description |
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
This extension renders a task item list element, which is a `<li>` tag with a `data-type` attribute set to `taskItem`. It also renders a checkbox inside the list element, which updates a `checked` attribute.
|
||||
|
||||
This extension doesn’t require any JavaScript framework, it’s based on plain JavaScript.
|
||||
This extension doesn’t require any JavaScript framework, it’s based on Vanilla JavaScript.
|
||||
|
||||
## Installation
|
||||
```bash
|
||||
|
@ -2,7 +2,7 @@
|
||||
[](https://www.npmjs.com/package/@tiptap/extension-task-list)
|
||||
[](https://npmcharts.com/compare/@tiptap/extension-task-list?minimal=true)
|
||||
|
||||
This extension enables you to use task lists in the editor. They are rendered as `<ul data-type="task_list">`. This implementation doesn’t require any framework, it’s using plain JavaScript only.
|
||||
This extension enables you to use task lists in the editor. They are rendered as `<ul data-type="task_list">`. This implementation doesn’t require any framework, it’s using Vanilla JavaScript only.
|
||||
|
||||
Type <code>[ ] </code> or <code>[x] </code> at the beginning of a new line and it will magically transform to a task list.
|
||||
|
||||
|
@ -22,19 +22,17 @@ Be nice! The content of this editor is shared with other users from the Internet
|
||||
In case you’re wondering what kind of sorcery you need on the server to achieve this, here is the whole backend code for the demo:
|
||||
|
||||
:::warning Request early access
|
||||
Our plug & play collaboration backend hocuspocus is still work in progress. If you want to give it a try, [request early access](https://hocuspocus.dev/).
|
||||
Our plug & play collaboration backend hocuspocus is still work in progress. If you want to give it a try, [request early access](https://www.hocuspocus.dev).
|
||||
:::
|
||||
|
||||
```js
|
||||
import { Server } from '@hocuspocus/server'
|
||||
import { RocksDB } from '@hocuspocus/rocksdb'
|
||||
import { RocksDB } from '@hocuspocus/extension-rocksdb'
|
||||
|
||||
const server = Server.configure({
|
||||
port: 80,
|
||||
extensions: [
|
||||
new RocksDB({
|
||||
path: './database',
|
||||
})
|
||||
new RocksDB({ path: './database' }),
|
||||
],
|
||||
})
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Images
|
||||
|
||||
:::pro Fund the development ♥
|
||||
We need your support to maintain, update, support and develop tiptap 2. If you’re hoping for more features related to images, [become a sponsor and fund our work](/sponsor).
|
||||
We need your support to maintain, update, support and develop tiptap. If you’re hoping for more features related to images, [become a sponsor and fund our work](/sponsor).
|
||||
:::
|
||||
|
||||
<demo name="Examples/Images" />
|
||||
|
@ -6,3 +6,8 @@ Thanks to [node views](/guide/node-views) you can add interactivity to your node
|
||||
Vue: 'Guide/NodeViews/VueComponent',
|
||||
React: 'Guide/NodeViews/ReactComponent',
|
||||
}" />
|
||||
|
||||
<demos :items="{
|
||||
Vue: 'Guide/NodeViews/VueComponentContent',
|
||||
React: 'Guide/NodeViews/ReactComponentContent',
|
||||
}" />
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Accessibility
|
||||
|
||||
:::pro Fund the development ♥
|
||||
We need your support to maintain, update, support and develop tiptap 2. If you’re waiting for progress here, [become a sponsor and fund our work](/sponsor).
|
||||
We need your support to maintain, update, support and develop tiptap. If you’re waiting for progress here, [become a sponsor and fund our work](/sponsor).
|
||||
:::
|
||||
|
||||
## toc
|
||||
|
@ -216,7 +216,7 @@ Yes, it’s magic. As already mentioned, that is all based on the fantastic Y.js
|
||||
Our collaborative editing backend handles the syncing, authorization, persistence and scaling. Let’s go through a few common use cases here!
|
||||
|
||||
:::warning Request early access
|
||||
Our plug & play collaboration backend hocuspocus is still work in progress. If you want to give it a try, [request early access](https://hocuspocus.dev/).
|
||||
Our plug & play collaboration backend hocuspocus is still work in progress. If you want to give it a try, [request early access](https://www.hocuspocus.dev).
|
||||
:::
|
||||
|
||||
### The document name
|
||||
|
@ -111,7 +111,7 @@ This section needs some work. Do you know what else needs to be taken into accou
|
||||
:::
|
||||
|
||||
### Icons
|
||||
Most editor menus use icons for their buttons. In some of our demos, we use the open-source icon set [Remix Icon](https://remixicon.com/), that’s free to use. But it’s totally up to you what you use. Here are a few icon sets you can consider:
|
||||
Most editor menus use icons for their buttons. In some of our demos, we use the open source icon set [Remix Icon](https://remixicon.com/), that’s free to use. But it’s totally up to you what you use. Here are a few icon sets you can consider:
|
||||
|
||||
* [Remix Icon](https://remixicon.com/#editor)
|
||||
* [Font Awesome](https://fontawesome.com/icons?c=editors)
|
||||
|
@ -3,7 +3,7 @@
|
||||
## toc
|
||||
|
||||
## Introduction
|
||||
Using frameworks like Vue or React can feel too complex, if you’re used to work without those two. Good news: You can use plain JavaScript in your node views. There is just a little bit you need to know, but let’s go through this one by one.
|
||||
Using frameworks like Vue or React can feel too complex, if you’re used to work without those two. Good news: You can use Vanilla JavaScript in your node views. There is just a little bit you need to know, but let’s go through this one by one.
|
||||
|
||||
## Render a node view with JavaScript
|
||||
Here is what you need to do to render a node view inside your editor:
|
||||
|
@ -3,7 +3,7 @@
|
||||
## toc
|
||||
|
||||
## Introduction
|
||||
Using plain JavaScript can feel complex if you are used to work in React. Good news: You can use regular React components in your node views, too. There is just a little bit you need to know, but let’s go through this one by one.
|
||||
Using Vanilla JavaScript can feel complex if you are used to work in React. Good news: You can use regular React components in your node views, too. There is just a little bit you need to know, but let’s go through this one by one.
|
||||
|
||||
## Render a React component
|
||||
Here is what you need to do to render React components inside your editor:
|
||||
|
@ -3,7 +3,7 @@
|
||||
## toc
|
||||
|
||||
## Introduction
|
||||
Using plain JavaScript can feel complex if you are used to work in Vue. Good news: You can use regular Vue components in your node views, too. There is just a little bit you need to know, but let’s go through this one by one.
|
||||
Using Vanilla JavaScript can feel complex if you are used to work in Vue. Good news: You can use regular Vue components in your node views, too. There is just a little bit you need to know, but let’s go through this one by one.
|
||||
|
||||
## Render a Vue component
|
||||
Here is what you need to do to render Vue components inside your editor:
|
||||
|
@ -67,7 +67,7 @@ Use this interactive example to fiddle around:
|
||||
<demo name="Guide/Content/ExportHTML" hide-source/>
|
||||
|
||||
### Option 3: Y.js
|
||||
Our editor has amazing support for Y.js, which is amazing to add [realtime collaboration, offline editing, or syncing between devices](/guide/collaborative-editing).
|
||||
Our editor has top notch support for Y.js, which is amazing to add features like [realtime collaboration, offline editing, or syncing between devices](/guide/collaborative-editing).
|
||||
|
||||
Internally, Y.js stores a history of all changes. That can be in the browser, on a server, synced with other connected clients, or on a USB stick. But, it’s important to know that Y.js needs those stored changes. A simple JSON document is not enough to merge changes.
|
||||
|
||||
@ -79,13 +79,13 @@ That said, it’s amazing and we’re about to provide an amazing backend, that
|
||||
Unfortunately, **tiptap doesn’t support Markdown as an input or output format**. We considered to add support for it, but those are the reasons why we decided to not do it:
|
||||
|
||||
* Both, HTML and JSON, can have deeply nested structures, Markdown is flat.
|
||||
* There are enough packages to convert HTML to Markdown and vice-versa.
|
||||
* Markdown standards vary.
|
||||
* tiptap’s strength is cutomization, that doesn’t work very well with Markdown.
|
||||
* There are enough packages to convert HTML to Markdown and vice-versa.
|
||||
|
||||
You should really consider to work with HTML or JSON to store your content, they are perfectly fine for most use cases.
|
||||
|
||||
If you still think you need Markdown, ProseMirror has an [example on how to deal with Markdown](https://prosemirror.net/examples/markdown/), [Nextcloud Text](https://github.com/nextcloud/text) uses tiptap 1 to work with Markdown. Maybe you can learn from them. Or if you’re looking for a really good Markdown editor, try [CodeMirror](https://codemirror.net/).
|
||||
If you still think you need Markdown, ProseMirror has an [example on how to deal with Markdown](https://prosemirror.net/examples/markdown/), [Nextcloud Text](https://github.com/nextcloud/text) uses tiptap 1 to work with Markdown. Maybe you can learn from them. Or if you are looking for a really good Markdown editor, try [CodeMirror](https://codemirror.net/).
|
||||
|
||||
That said, tiptap does support [Markdown shortcuts](/examples/markdown-shortcuts) to format your content. Also you’re free to let your content look like Markdown, for example add a `#` before an `<h1>` with CSS.
|
||||
|
||||
@ -127,4 +127,4 @@ We’re about to go through a few cases to help with that, for example we provid
|
||||
[Share your experiences with us!](mailto:humans@tiptap.dev) We’d like to add more information here.
|
||||
|
||||
## Security
|
||||
There’s no reason to use on or the other because of security concerns. If someone wants to send malicious content to your server, it doesn’t matter if it’s JSON or HTML. You should always validate user input.
|
||||
There is no reason to use on or the other because of security concerns. If someone wants to send malicious content to your server, it doesn’t matter if it’s JSON or HTML. It doesn’t even matter if you’re using tiptap or not. You should always validate user input.
|
||||
|
@ -5,7 +5,7 @@
|
||||
## Introduction
|
||||
The whole tiptap is code base is written in TypeScript. If you haven’t heard of it or never used it, no worries. You don’t have to.
|
||||
|
||||
TypeScript extends JavaScript by adding types (hence the name). It adds new syntax, which doesn’t exist in plain JavaScript. It’s actually removed before running in the browser, but this step – the compilation – is important to find bugs early. It checks if you passe the right types of data to functions. For a big and complex project, that’s very valuable. It means we’ll get notified of lot of bugs, before shipping code to you.
|
||||
TypeScript extends JavaScript by adding types (hence the name). It adds new syntax, which doesn’t exist in Vanilla JavaScript. It’s actually removed before running in the browser, but this step – the compilation – is important to find bugs early. It checks if you passe the right types of data to functions. For a big and complex project, that’s very valuable. It means we’ll get notified of lot of bugs, before shipping code to you.
|
||||
|
||||
**Anyway, if you don’t use TypeScript in your project, that’s fine.** You will still be able to use tiptap and nevertheless get a nice autocomplete for the tiptap API (if your editor supports it, but most do).
|
||||
|
||||
|
@ -3,17 +3,17 @@
|
||||
## toc
|
||||
|
||||
## Introduction
|
||||
tiptap 2 is framework-agnostic and even works with plain JavaScript, if that’s your thing. We’re working on guides for all the different frameworks and workflows. The following steps should help you to integrate tiptap in your JavaScript project.
|
||||
tiptap is framework-agnostic and even works with Vanilla JavaScript, if that’s your thing. The following integration guides should help you to integrate tiptap in your JavaScript project.
|
||||
|
||||
## Integration guides
|
||||
* [CDN](/installation/cdn)
|
||||
* [CodeSandbox](/installation/codesandbox)
|
||||
* [Vue 2](/installation/vue2)
|
||||
<!-- * [CodeSandbox](/installation/codesandbox) -->
|
||||
* [React](/installation/react)
|
||||
* [Vue 3](/installation/vue3)
|
||||
* [Vue 2](/installation/vue2)
|
||||
* [Nuxt.js](/installation/nuxt)
|
||||
* [React](/installation/react) (Draft)
|
||||
* [Svelte](/installation/svelte) (Draft)
|
||||
* [Alpine.js](/installation/alpine) (Draft)
|
||||
* [Svelte](/installation/svelte)
|
||||
* [Alpine.js](/installation/alpine)
|
||||
* [Livewire](/installation/livewire) (Draft)
|
||||
|
||||
## Vanilla JavaScript
|
||||
@ -22,7 +22,7 @@ tiptap 2 is framework-agnostic and even works with plain JavaScript, if that’s
|
||||
* [Node](https://nodejs.org/en/download/) installed on your machine
|
||||
|
||||
### 1. Install the dependencies
|
||||
For the following example you will need `@tiptap/core` (the actual editor) and `@tiptap/starter-kit` which has everything to get started quickly, for example the most common extensions.
|
||||
For the following example you will need `@tiptap/core` (the actual editor) and `@tiptap/starter-kit` which has the most common extensions to get started quickly.
|
||||
|
||||
```bash
|
||||
# install with npm
|
||||
@ -40,7 +40,7 @@ Add the following HTML where you want the editor to be mounted:
|
||||
```
|
||||
|
||||
### 3. Initialize the editor
|
||||
Now, let’s initialize the editor in JavaScript:
|
||||
Let’s initialize the editor in JavaScript now:
|
||||
|
||||
```js
|
||||
import { Editor } from '@tiptap/core'
|
||||
@ -53,4 +53,4 @@ new Editor({
|
||||
})
|
||||
```
|
||||
|
||||
Open your project in the browser and you should see tiptap. Good work! Time to give yourself a pat on the back.
|
||||
Open your project in the browser to see tiptap in action. Good work! Time to give yourself a pat on the back.
|
||||
|
@ -10,7 +10,7 @@ title: Headless WYSIWYG Text Editor
|
||||
|
||||
tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a toolkit for building rich text WYSIWYG editors, which is already in use at many well-known companies such as *New York Times*, *The Guardian* or *Atlassian*.
|
||||
|
||||
Create exactly the rich text editor you want out of customizable building blocks. tiptap comes with sensible defaults, a lot of extensions and a friendly API to customize every aspect. It’s backed by a welcoming community, open-source, and free.
|
||||
Create exactly the rich text editor you want out of customizable building blocks. tiptap comes with sensible defaults, a lot of extensions and a friendly API to customize every aspect. It’s backed by a welcoming community, open source, and free.
|
||||
|
||||
## Example
|
||||
<demo name="Examples/CollaborativeEditing" hide-source inline />
|
||||
@ -18,9 +18,9 @@ Create exactly the rich text editor you want out of customizable building blocks
|
||||
## Features
|
||||
**Headless.** We don’t tell you what a menu should look like or where it should be rendered in the DOM. That’s why tiptap is headless and comes without any CSS. You are in full control over markup, styling and behaviour.
|
||||
|
||||
**Framework-agnostic.** No matter what framework you use, you’ll enjoy tiptap. Out of the box, it works with plain JavaScript and Vue.js, but it’s also possible to use it in [React](/installation/react), Svelte and others.
|
||||
**Framework-agnostic.** No matter what framework you use, you’ll enjoy tiptap. Out of the box, it works with Vanilla JavaScript and Vue.js, but it’s also possible to use it in [React](/installation/react), Svelte and others.
|
||||
|
||||
**TypeScript.** tiptap 2 is written in TypeScript. That helps us to find bugs early and gives you a nice autocomplete for the API (if your IDE supports that) on top of the extensive human written documentation.
|
||||
**TypeScript.** tiptap is written in TypeScript. That helps us to find bugs early and gives you a nice autocomplete for the API (if your IDE supports that) on top of the extensive human written documentation.
|
||||
|
||||
**Collaborative.** Real-time collaboration, syncing between different devices and working offline used to be hard. We provide everything you need to keep everything in sync, conflict-free with the power of [Y.js](https://github.com/yjs/yjs). Our production-grade setup requires less than 20 lines of code.
|
||||
|
||||
|
@ -5,10 +5,6 @@
|
||||
## Introduction
|
||||
tiptap would be nothing without its lively community. Contributions have always been and will always be welcome. Here is a little bit you should know, before you send your contribution:
|
||||
|
||||
:::warning Private repository
|
||||
Currently, the repository is private. That means PRs are disabled, too. We’ll release a public version of tiptap 2 soonish, please wait with your PRs until the repository is public.
|
||||
:::
|
||||
|
||||
## Welcome examples
|
||||
* Failing regression tests as bug reports
|
||||
* Documentation improvements, e. g. fix a typo, add a section
|
||||
|
@ -172,6 +172,9 @@ The reference implementation for collaborative editing uses Y.js now. That’s a
|
||||
|
||||
Read more about [the new collaborative editing experience](/guide/collaborative-editing) in our guide.
|
||||
|
||||
### Marks don’t support node view anymore
|
||||
For marks, node views are [not well supported in ProseMirror](https://discuss.prosemirror.net/t/there-is-a-bug-in-marks-nodeview/2722/2). There is also [a related issue](https://github.com/ueberdosis/tiptap/issues/613) for tiptap 1. That’s why we removed it in tiptap 2.
|
||||
|
||||
### Become a sponsor
|
||||
tiptap wouldn’t exist without the funding of its community. If you fell in love with tiptap, don’t forget to [become a sponsor](/sponsor) and make the maintenance, development and support sustainable.
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
# Monthly reports
|
||||
|
||||
| Month | Tasks | Sponsors | Funding | Worked |
|
||||
| --------- | ---------------------------------------------------------------------- | -------- | ------- | ------------- |
|
||||
| 01/2021 | Maintenance tiptap v1, … | … | … | … |
|
||||
| 12/2020 | Invited all sponsors, gathered feedback | 60 | $1,035 | 60 h |
|
||||
| 11/2020 | Wrote documentation, improved collaborative editing, advanced examples | 31 | $468 | 188 h |
|
||||
| 10/2020 | Rewrote extensions for tiptap 2 | 25 | $423 | 102 h |
|
||||
| 09/2020 | Developed the new API, wrote documentation | | | 125 h |
|
||||
| 08/2020 | Set up tiptap 2 | | | 56 h |
|
||||
| **Total** | | | | **531 h** |
|
||||
|
@ -3,21 +3,20 @@
|
||||
## Introduction
|
||||
To deliver a top-notch developer experience and user experience, we put ~~hundreds~~ thousands of hours of unpaid work into tiptap. Your funding helps us to make this work more and more financially sustainable. This enables us to provide helpful support, maintain all our packages, keep everything up to date, and develop new features and extensions for tiptap.
|
||||
|
||||
Give back to the open-source community and [sponsor us on GitHub](https://github.com/sponsors/ueberdosis)! ♥
|
||||
Give back to the open source community and [sponsor us on GitHub](https://github.com/sponsors/ueberdosis)! ♥
|
||||
|
||||
## Your benefits as a sponsor
|
||||
* Give back to the open-source community
|
||||
* Get early access to private repositories
|
||||
* Ensure the further maintenace and development of tiptap
|
||||
* Your issues and pull requests get a `sponsor ♥` label
|
||||
* Get a sponsor badge in all your comments on GitHub
|
||||
* Invest in the future of tiptap
|
||||
* Give back to the open source community
|
||||
* Show support in your GitHub profile
|
||||
* Receive monthly reports about our open-source work
|
||||
|
||||
Does that sound good? [Sponsor us on GitHub!](https://github.com/sponsors/ueberdosis)
|
||||
Sounds good? [Sponsor us on GitHub!](https://github.com/sponsors/ueberdosis)
|
||||
|
||||
## The maintainers of tiptap
|
||||
If you’re thankful for tiptap, you should say thank you to all 12 lovely people of [überdosis](https://twitter.com/_ueberdosis). The amazing company we’re all building together and the amazing company that funded the initial development costs of tiptap 2.
|
||||
If you are thankful for tiptap, you should say thank you to the lovely people of [überdosis](https://twitter.com/_ueberdosis). The amazing company we are all building together and the amazing company that funded the initial development costs of tiptap.
|
||||
|
||||
AND you should definitely hire us if you want us to design und build an amazing digital product for you. Bonus points if it’s somehow text editing related.
|
||||
|
||||
|
@ -57,14 +57,12 @@
|
||||
link: /examples/default
|
||||
- title: Collaborative editing
|
||||
link: /examples/collaborative-editing
|
||||
# type: pro
|
||||
- title: Markdown shortcuts
|
||||
link: /examples/markdown-shortcuts
|
||||
- title: Menus
|
||||
link: /examples/menus
|
||||
- title: Tables
|
||||
link: /examples/tables
|
||||
# type: pro
|
||||
- title: Images
|
||||
link: /examples/images
|
||||
- title: Formatting
|
||||
@ -101,7 +99,6 @@
|
||||
link: /guide/accessibility
|
||||
- title: Collaborative editing
|
||||
link: /guide/collaborative-editing
|
||||
# type: pro
|
||||
- title: Custom extensions
|
||||
link: /guide/custom-extensions
|
||||
- title: Overwrite & extend
|
||||
@ -122,8 +119,8 @@
|
||||
|
||||
- title: API
|
||||
items:
|
||||
- title: Concept
|
||||
link: /api/concept
|
||||
- title: Introduction
|
||||
link: /api/introduction
|
||||
- title: Editor
|
||||
link: /api/editor
|
||||
- title: Commands
|
||||
@ -178,16 +175,12 @@
|
||||
link: /api/nodes/paragraph
|
||||
- title: Table
|
||||
link: /api/nodes/table
|
||||
# type: pro
|
||||
- title: TableRow
|
||||
link: /api/nodes/table-row
|
||||
# type: pro
|
||||
- title: TableCell
|
||||
link: /api/nodes/table-cell
|
||||
# type: pro
|
||||
- title: TableHeader
|
||||
link: /api/nodes/table-header
|
||||
# type: pro
|
||||
- title: TaskList
|
||||
link: /api/nodes/task-list
|
||||
- title: TaskItem
|
||||
@ -216,9 +209,6 @@
|
||||
- title: Extensions
|
||||
link: /api/extensions
|
||||
items:
|
||||
# - title: Annotation
|
||||
# link: /api/extensions/annotation
|
||||
# type: draft
|
||||
- title: BubbleMenu
|
||||
link: /api/extensions/bubble-menu
|
||||
type: new
|
||||
@ -226,10 +216,8 @@
|
||||
link: /api/extensions/character-count
|
||||
- title: Collaboration
|
||||
link: /api/extensions/collaboration
|
||||
# type: pro
|
||||
- title: CollaborationCursor
|
||||
link: /api/extensions/collaboration-cursor
|
||||
# type: pro
|
||||
- title: Dropcursor
|
||||
link: /api/extensions/dropcursor
|
||||
- title: FloatingMenu
|
||||
@ -258,9 +246,9 @@
|
||||
link: /api/utilities/html
|
||||
- title: Suggestion
|
||||
link: /api/utilities/suggestion
|
||||
- title: Events
|
||||
link: /api/events
|
||||
- title: Schema
|
||||
link: /api/schema
|
||||
- title: Keyboard shortcuts
|
||||
link: /api/keyboard-shortcuts
|
||||
- title: Schema
|
||||
link: /api/schema
|
||||
- title: Events
|
||||
link: /api/events
|
||||
|
@ -6,7 +6,7 @@
|
||||
The headless editor framework for web artisans.
|
||||
</h1>
|
||||
<p class="is-large">
|
||||
tiptap gives you full control about every single aspect of your text editor experience. It’s customizable, comes with a ton of extensions, is open-source, has an extensive documentation, and is simply a joy to use. Join our welcoming community and start building cool things!
|
||||
tiptap gives you full control about every single aspect of your text editor experience. It’s customizable, comes with a ton of extensions, is open source, has an extensive documentation, and is simply a joy to use. Join our welcoming community and start building cool things!
|
||||
</p>
|
||||
<btn-wrapper>
|
||||
<btn type="primary" icon="arrow-right" to="/installation">
|
||||
@ -49,7 +49,7 @@
|
||||
Framework-agnostic
|
||||
</h3>
|
||||
<p>
|
||||
Out of the box, tiptap works with plain JavaScript and Vue.js, but it’s also possible to use it in <g-link to="/installation/react">React</g-link>, <g-link to="/installation/svelte">Svelte</g-link> and others.
|
||||
Out of the box, tiptap works with Vanilla JavaScript and Vue.js, but it’s also possible to use it in <g-link to="/installation/react">React</g-link>, <g-link to="/installation/svelte">Svelte</g-link> and others.
|
||||
</p>
|
||||
<div>
|
||||
<btn type="tertiary" icon="arrow-right" to="/installation">
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
@ -11,4 +11,4 @@ tiptap is a headless wrapper around [ProseMirror](https://ProseMirror.net) – a
|
||||
Documentation can be found on the [tiptap website](https://tiptap.dev).
|
||||
|
||||
## License
|
||||
tiptap is open-sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
tiptap is open sourced software licensed under the [MIT license](https://github.com/ueberdosis/tiptap-next/blob/main/LICENSE.md).
|
||||
|
Loading…
Reference in New Issue
Block a user