An equipment manual has a small inspection note in the middle of a section. Editors need a link to that precise note even when the surrounding heading changes. A named bookmark gives the note a destination without requiring another heading solely for navigation.
Add the feature to the editor you already initialize
The current documentation imports Bookmark from ckeditor5. Merge the plugin and toolbar entry into the rest of your working configuration:
import { Bookmark } from 'ckeditor5';
// Add to the configuration passed to your existing editor creation:
const bookmarkAdditions = {
plugins: [Bookmark],
toolbar: ['bookmark']
};
This is a configuration fragment, not a replacement for your complete document editor. Preserve its document, paragraph, link, and other required plugins and its existing license configuration. The feature page includes the current full installation pattern; check the licensing requirements for your installed release before enabling features.
With the plugin available, place the caret at the inspection note, choose the bookmark button, and give it a unique name such as inspection-notes. With Link enabled, create a link from “Read the inspection notes” and choose that bookmark in the link panel. The documented Bookmarks panel lists the available destinations.
Inspect what the editor saves
The feature's default data output represents a bookmark with an id on an anchor:
<p><a href="#inspection-notes">Read the inspection notes</a></p>
<p><a id="inspection-notes"></a>Check the seal before refitting.</p>
The editor displays a bookmark marker to help an author work with the destination. That marker is editor UI; it is not wording the manual's reader needs to see. A bookmark placed in an otherwise empty paragraph also receives special rendering treatment described in the official guide, so review exported content rather than adding visible filler merely to hold the marker.
The saved href and the destination id must still agree. If another application strips anchor IDs during sanitization, the link may survive while its destination disappears. Test the actual saved-and-reloaded data path, including any content filter between the editor and the reader. The same-page anchor guide explains the browser's final matching behavior.
Account for imported anchor markup
CKEditor documents conversion of several imported anchor forms, including anchors with name, id, or both, during initialization and setData(). Its default bookmark output uses id.
By default, a nonempty anchor with an ID is also converted:
<!-- Imported -->
<a id="inspection-notes">Check the seal.</a>
<!-- Documented default output shape -->
<a id="inspection-notes"></a>Check the seal.
The visible words remain, while the bookmark becomes a separate anchor. If your integration requires a different treatment of nonempty anchors, the documented option is:
const bookmarkConfiguration = {
bookmark: {
enableNonEmptyAnchorConversion: false
}
};
Add that option to the existing configuration deliberately. Turning off this conversion does not by itself define how every unsupported HTML structure will be preserved; the rest of the editor's schema and conversion still apply.
Test a rename as a document change
Use the marker's contextual toolbar to inspect, rename, or remove a bookmark. Before renaming a destination already used in manuals or messages, record the old name and inspect the links that depend on it. Do not assume links outside the document, or links transformed by another publishing tool, will be repaired automatically.
For this manual, save the document, reopen it, and use “Read the inspection notes” to reach the seal warning. Then change the surrounding heading, save again, and repeat the jump. Finally inspect exported HTML for the destination and its referring link. This separates a working authoring marker from a destination that survives the real delivery path.
If the requirement is an automatically maintained list of headings, choose a contents feature instead. A bookmark identifies an intentionally named spot; it does not collect every heading into navigation.