Heading extension

VersionDownloads

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

CommandWindows/LinuxmacOS
toggleHeading( level: 1 )Control + Alt + 1Cmd + Alt + 1
toggleHeading( level: 2 )Control + Alt + 2Cmd + Alt + 2
toggleHeading( level: 3 )Control + Alt + 3Cmd + Alt + 3
toggleHeading( level: 4 )Control + Alt + 4Cmd + Alt + 4
toggleHeading( level: 5 )Control + Alt + 5Cmd + Alt + 5
toggleHeading( level: 6 )Control + Alt + 6Cmd + Alt + 6

Source code

packages/extension-heading/