Merge branch 'main' into feature/live-demo
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
# Commands
|
||||
|
||||
## Table of Contents
|
||||
|
||||
## Introduction
|
||||
|
||||
## Chain commands
|
||||
|
||||
```js
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# Editor
|
||||
This class is a central building block of tiptap. It does most of the heavy lifting of creating a working [ProseMirror](https://ProseMirror.net/) editor such as creating the [`EditorView`](https://ProseMirror.net/docs/ref/#view.EditorView), setting the initial [`EditorState`](https://ProseMirror.net/docs/ref/#state.Editor_State) and so on.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
## Introduction
|
||||
This class is a central building block of tiptap. It does most of the heavy lifting of creating a working [ProseMirror](https://ProseMirror.net/) editor such as creating the [`EditorView`](https://ProseMirror.net/docs/ref/#view.EditorView), setting the initial [`EditorState`](https://ProseMirror.net/docs/ref/#state.Editor_State) and so on.
|
||||
|
||||
## Configuration
|
||||
| Setting | Type | Default | Description |
|
||||
| ------------------ | --------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# Events
|
||||
The editor fires a few different events that you can hook into. There are two ways to register event listeners:
|
||||
|
||||
## Table of Contents
|
||||
|
||||
## Introduction
|
||||
The editor fires a few different events that you can hook into. There are two ways to register event listeners:
|
||||
|
||||
## Option 1: Right-away
|
||||
You can define your event listeners on a new editor instance right-away:
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# Extensions
|
||||
Extensions are the way to add functionality to tiptap. By default tiptap comes bare, without any of them, but we have a long list of extensions that are ready to be used with tiptap.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
## Introduction
|
||||
Extensions are the way to add functionality to tiptap. By default tiptap comes bare, without any of them, but we have a long list of extensions that are ready to be used with tiptap.
|
||||
|
||||
## A minimalist set of extensions
|
||||
You’ll need at least three extensions: `Document`, `Paragraph` and `Text`. See [an example of a tiptap version for minimalists](/examples/minimalist).
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
# Blockquote
|
||||
|
||||
The Blockquote extension enables you to use the `<blockquote>` HTML tag in the editor. This is great – you might have guessed – to use quotes in the editor.
|
||||
|
||||
Type <code>> </code> at the beginning of a new line and it will magically transform to a blockquote.
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
# Keyboard Shortcuts
|
||||
|
||||
## Table of Contents
|
||||
|
||||
## Introduction
|
||||
Keyboard shortcuts may be strings like `'Shift-Control-Enter'`. Keys are based on the strings that can appear in `event.key`, concatenated with a `-`. There is a little tool called [keycode.info](https://keycode.info/), which shows the `event.key` interactively.
|
||||
|
||||
Use lowercase letters to refer to letter keys (or uppercase letters if you want shift to be held). You may use `Space` as an alias for the <code> </code>.
|
||||
@@ -7,8 +11,6 @@ Modifiers can be given in any order. `Shift`, `Alt`, `Control` and `Cmd` are rec
|
||||
|
||||
You can use `Mod` as a shorthand for `Cmd` on Mac and `Control` on other platforms.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
## Overwrite keyboard shortcuts
|
||||
|
||||
```js
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
# Schema
|
||||
|
||||
## Table of Contents
|
||||
|
||||
## Introduction
|
||||
Unlike many other editors, tiptap is based on a [schema](https://prosemirror.net/docs/guide/#schema) that defines how your content is structured. That enables you to define the kind of nodes that may occur in the document, its attributes and the way they can be nested.
|
||||
|
||||
This schema is *very* strict. You can’t use any HTML element or attribute that is not defined in your schema.
|
||||
|
||||
Let me give you one example: If you paste something like `This is <strong>important</strong>` into tiptap, don’t have any extension that handles `strong` tags registered, you’ll only see `This is important` – without the strong tags.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
## How a schema looks like
|
||||
|
||||
The most simple schema for a typical *ProseMirror* editor is looking something like that:
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# Configuration
|
||||
In its simplest version tiptap comes very raw. There is no menu, no buttons, no styling. That’s intended. See tiptap as your building blocks to build exactly the editor you would like to have.
|
||||
# Build your editor
|
||||
|
||||
## Table of Contents
|
||||
|
||||
## Introduction
|
||||
In its simplest version tiptap comes very raw. There is no menu, no buttons, no styling. That’s intended. See tiptap as your building blocks to build exactly the editor you would like to have.
|
||||
|
||||
## Adding a menu
|
||||
Let’s start to add your first button to the editor. Once initiated the editor has a powerful API. The so called *commands* allow you to modify selected text (and tons of other things). Here is an example with one single button:
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# Configuration
|
||||
tiptap is all about customization. There are a ton of options to configure the behavior and functionality of the editor. Most of those settings can be set before creating the Editor. Give tiptap a JSON with all the settings you would like to overwrite.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
## Introduction
|
||||
tiptap is all about customization. There are a ton of options to configure the behavior and functionality of the editor. Most of those settings can be set before creating the Editor. Give tiptap a JSON with all the settings you would like to overwrite.
|
||||
|
||||
## Overwrite the default settings
|
||||
See an example with `autoFocus: true` here:
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# Custom Extensions
|
||||
Let’s extend tiptap with a custom extension!
|
||||
|
||||
## Table of Contents
|
||||
|
||||
## Introduction
|
||||
Let’s extend tiptap with a custom extension!
|
||||
|
||||
## Option 1: Change defaults
|
||||
|
||||
Let’s say you want to change the keyboard shortcuts for the bullet list. You should start by looking at [the source code of the `BulletList` extension](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-bullet-list/index.ts) and find the default you’d like to change. In that case, the keyboard shortcut, and just that.
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# Custom styling
|
||||
Tiptap is renderless, that doesn’t mean there is no styling provided. You can decided how your editor should look like.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
## Introduction
|
||||
Tiptap is renderless, that doesn’t mean there is no styling provided. You can decided how your editor should look like.
|
||||
|
||||
## Option 1: Style the plain HTML
|
||||
The whole editor is rendered inside of a container with the class `.ProseMirror`. You can use that to scope your styling to the editor content:
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# Getting started
|
||||
tiptap is framework-agnostic and works with Vue.js and React. It even works with plain JavaScript, if that’s your thing. To keep everything as small as possible, we put the code to use tiptap with those frameworks in different packages.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
## Introduction
|
||||
tiptap is framework-agnostic and works with Vue.js and React. It even works with plain JavaScript, if that’s your thing. To keep everything as small as possible, we put the code to use tiptap with those frameworks in different packages.
|
||||
|
||||
## 1. Install the dependencies
|
||||
We assume you already have a [Vue.js](https://cli.vuejs.org/) (or [Nuxt.js](https://nuxtjs.org/)) project. To connect tiptap with Vue.js you are going to need an adapter. You can install tiptap for Vue.js as a dependency in your project:
|
||||
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
# Store content
|
||||
|
||||
## Table of Contents
|
||||
|
||||
## Introduction
|
||||
You can store your content as a JSON object or as a good old HTML string. Both work fine. And of course, you can pass both formats to the editor to restore your content.
|
||||
|
||||
You can store your content as JSON and restore the content from HTML, or the other way around. I don’t know why you would do that, but tiptap wouldn’t care.
|
||||
|
||||
Reference in New Issue
Block a user