Heading extension
The Heading extension adds support for headings of different levels. Headings are rendered with <h1>
, <h2>
, <h3>
, <h4>
, <h5>
or <h6>
HTML tags. By default all six heading levels (or styles) are enabled, but you can pass an array to only allow a few levels. Check the usage example to see how this is done.
Type #
at the beginning of a new line and it will magically transform to a heading, same for ##
, ###
, ####
, #####
and ######
.
Install
npm install @tiptap/extension-heading
Settings
HTMLAttributes
Custom HTML attributes that should be added to the rendered HTML tag.
Heading.configure({
HTMLAttributes: {
class: 'my-custom-class',
},
})
levels
Specifies which heading levels are supported.
Default: [1, 2, 3, 4, 5, 6]
Heading.configure({
levels: [1, 2],
})
Commands
setHeading()
Creates a heading node with the specified level.
editor.commands.setHeading({ level: 1 })
toggleHeading()
Toggles a heading node with the specified level.
editor.commands.toggleHeading({ level: 1 })
Keyboard shortcuts
Command | Windows/Linux | macOS |
---|---|---|
toggleHeading( level: 1 ) | Control + Alt + 1 | Cmd + Alt + 1 |
toggleHeading( level: 2 ) | Control + Alt + 2 | Cmd + Alt + 2 |
toggleHeading( level: 3 ) | Control + Alt + 3 | Cmd + Alt + 3 |
toggleHeading( level: 4 ) | Control + Alt + 4 | Cmd + Alt + 4 |
toggleHeading( level: 5 ) | Control + Alt + 5 | Cmd + Alt + 5 |
toggleHeading( level: 6 ) | Control + Alt + 6 | Cmd + Alt + 6 |