2020-11-02 22:54:15 +08:00
# Nodes
## toc
## Introduction
2021-04-16 01:33:51 +08:00
If you think of the document as a tree, then nodes are just a type of content in that tree. Examples of nodes are paragraphs, headings, or code blocks. But nodes don’ t have to be blocks. They can also be rendered inline with the text, for example for ** @mentions **.
2021-01-26 06:17:02 +08:00
2020-11-03 23:13:13 +08:00
## List of supported nodes
| Title | Default Extension | Source Code |
| -------------------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------- |
2021-04-21 21:31:11 +08:00
| [Blockquote ](/api/nodes/blockquote ) | Yes | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-blockquote/ ) |
| [BulletList ](/api/nodes/bullet-list ) | Yes | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-bullet-list/ ) |
| [CodeBlock ](/api/nodes/code-block ) | Yes | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-code-block/ ) |
| [Document ](/api/nodes/document ) | Yes | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-document/ ) |
| [Emoji ](/api/nodes/emoji ) | – | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-emoji/ ) |
| [HardBreak ](/api/nodes/hard-break ) | Yes | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-hard-break/ ) |
| [Hashtag ](/api/nodes/hashtag ) | – | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-hashtag/ ) |
| [Heading ](/api/nodes/heading ) | Yes | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-heading/ ) |
2021-05-05 19:38:54 +08:00
| [HorizontalRule ](/api/nodes/horizontal-rule ) | Yes | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-horizontal-rule/ ) |
2021-04-21 21:31:11 +08:00
| [Image ](/api/nodes/image ) | – | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-image/ ) |
| [ListItem ](/api/nodes/list-item ) | Yes | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-list-item/ ) |
| [Mention ](/api/nodes/mention ) | Yes | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-mention/ ) |
| [OrderedList ](/api/nodes/ordered-list ) | Yes | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-ordered-list/ ) |
| [Paragraph ](/api/nodes/paragraph ) | Yes | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-paragraph/ ) |
| [Table ](/api/nodes/table ) | – | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-table/ ) |
| [TableRow ](/api/nodes/table-row ) | – | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-table-row/ ) |
| [TableCell ](/api/nodes/table-cell ) | – | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-table-cell/ ) |
| [TaskList ](/api/nodes/task-list ) | – | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-task-list/ ) |
| [TaskItem ](/api/nodes/task-item ) | – | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-task-item/ ) |
| [Text ](/api/nodes/text ) | Yes | [GitHub ](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-text/ ) |
2021-02-05 00:33:59 +08:00
## Create a new node
You’ re free to create your own nodes for tiptap. Here is the boilerplate code that’ s need to create and register your own node:
```js
import { Node } from '@tiptap/core'
const CustomNode = Node.create({
// Your code here
})
const editor = new Editor({
extensions: [
// Register your custom node with the editor.
CustomNode,
// … and don’ t forget all other extensions.
Document,
Paragraph,
Text,
// …
],
2021-04-08 04:28:29 +08:00
})
2021-02-05 00:33:59 +08:00
```
2021-04-07 05:36:07 +08:00
Learn [more about custom extensions in our guide ](/guide/custom-extensions ).