Suppose a support writer types ## Replace the filter at the start of a line and expects a heading. If the markers stay visible, check whether Autoformat and the appropriate heading feature are installed before replacing the entire editor setup.
Add Autoformat alongside the features it uses
In an existing CKEditor 5 integration, add the exported Autoformat plugin to its plugin list:
import { Autoformat } from 'ckeditor5';
// Merge this plugin into the existing editor configuration.
const autoformatPlugins = [Autoformat];
This fragment supplies the plugin reference, not a complete editor. Retain the application's configured editor root, license, schema features, and toolbar. Merge autoformatPlugins with the existing plugins rather than replacing that list with Autoformat alone.
The official guide specifically notes that autoformatting is available only for commands present in the editor configuration. Bold markers need the bold command; a list shortcut needs the relevant list feature. Adding a toolbar label alone does not install the underlying editing command.
Check the pattern where the author types it
Use a blank paragraph in a development document and type the marker, including the required trailing space for block patterns:
| Typed input | Result |
|---|---|
## at the start of a line |
Heading 2 |
- at the start of a line |
Bulleted list |
1. at the start of a line |
Numbered list |
> at the start of a line |
Block quote |
**Replace the filter** |
Bold text |
CKEditor documents additional patterns, including task lists, inline code, strikethrough, and code blocks. Enable the rules that fit the actual editor rather than promising that every Markdown construct is supported.
For the filter procedure, type the heading marker and title, then create a separate paragraph and type 1. before the first instruction. Confirm that the editor produces a heading and a list item, and that typing the second instruction continues the intended list.
If only one conversion fails, compare its feature dependency with a working conversion. If every conversion fails, inspect plugin loading and any customization that changes input handling. Keep the original typed fixture small enough that another developer can reproduce it.
Treat pasted Markdown as a separate import task
Copying these lines into the clipboard and pasting them is a different test:
## Replace the filter
1. Disconnect the supply.
2. Fit the replacement filter.
The current Autoformat guide lists pasted Markdown conversion as an unsupported behavior of this feature. Do not tell authors that a pasted procedure will become structured content merely because typing ## works. If Markdown import or Markdown storage is required, choose and configure the corresponding conversion features explicitly.
Inspect the application's stored output too. Autoformat changes editing structure; it does not alone select Markdown as the saved format. An application that normally captures HTML still needs its configured output pipeline.
Keep code language and character substitutions separate
The guide also notes that autoformatted code-block insertion defaults to plain text rather than choosing a specific code language. A developer writing a shell procedure should select the language through the configured code-block controls where needed. The CKEditor code-block guide covers that separate authoring task.
Character substitutions such as smart quotes are another feature category. They can change literal command characters without changing a paragraph into a heading. For that distinction, see the typed-character substitution guide; its Tiptap configuration is not CKEditor setup code.
Save and reopen the filter procedure through the real application. Read the heading and numbered instructions in the recipient view, then copy any command text from its code block. The procedure should preserve the structure the writer intended and the exact characters the reader needs to use.