mirror of
https://github.com/ueberdosis/tiptap.git
synced 2024-12-19 05:37:51 +08:00
72 lines
2.0 KiB
Markdown
72 lines
2.0 KiB
Markdown
---
|
||
description: Ping all your people @marijn @kevin
|
||
icon: at-line
|
||
---
|
||
|
||
# Mention
|
||
[![Version](https://img.shields.io/npm/v/@tiptap/extension-mention.svg?label=version)](https://www.npmjs.com/package/@tiptap/extension-mention)
|
||
[![Downloads](https://img.shields.io/npm/dm/@tiptap/extension-mention.svg)](https://npmcharts.com/compare/@tiptap/extension-mention?minimal=true)
|
||
|
||
Honestly, the mention node is amazing. It adds support for `@mentions`, for example to ping users, *and* provides full control over the rendering.
|
||
|
||
Literally everything can be customized. You can pass a custom component for the rendering. All examples use `.filter()` to search through items, but feel free to send async queries to an API or add a more advanced library like [fuse.js](https://fusejs.io/) to your project.
|
||
|
||
## Installation
|
||
```bash
|
||
npm install @tiptap/extension-mention
|
||
```
|
||
|
||
## Dependencies
|
||
To place the popups correctly, we’re using [tippy.js](https://atomiks.github.io/tippyjs/) in all our examples. You are free to bring your own library, but if you’re fine with it, just install what we use:
|
||
|
||
```bash
|
||
npm install tippy.js
|
||
```
|
||
|
||
Since 2.0.0-beta.193 we marked the `@tiptap/suggestion` as a peer dependency. That means, you will need to install it manually.
|
||
|
||
```bash
|
||
npm install @tiptap/suggestion
|
||
```
|
||
|
||
## Settings
|
||
|
||
### HTMLAttributes
|
||
Custom HTML attributes that should be added to the rendered HTML tag.
|
||
|
||
```js
|
||
Mention.configure({
|
||
HTMLAttributes: {
|
||
class: 'my-custom-class',
|
||
},
|
||
})
|
||
```
|
||
|
||
### renderLabel
|
||
Define how a mention label should be rendered.
|
||
|
||
```js
|
||
Mention.configure({
|
||
renderLabel({ options, node }) {
|
||
return `${options.suggestion.char}${node.attrs.label ?? node.attrs.id}`
|
||
}
|
||
})
|
||
```
|
||
|
||
### suggestion
|
||
[Read more](/api/utilities/suggestion)
|
||
|
||
```js
|
||
Mention.configure({
|
||
suggestion: {
|
||
// …
|
||
},
|
||
})
|
||
```
|
||
|
||
## Source code
|
||
[packages/extension-mention/](https://github.com/ueberdosis/tiptap/blob/main/packages/extension-mention/)
|
||
|
||
## Usage
|
||
https://embed.tiptap.dev/preview/Nodes/Mention
|