flo
Flexible List Options adds a CKEditor 5 toolbar button that lets content editors choose ordered list
numbering styles — alphabetical, numeric, or Roman numerals — with bracket formatting, applied independently per
indentation level.
Features
- 15 list style options: 5 numbering types (A, a, 1, I, i) combined with 3 bracket formats
(plain period, right parenthesis, both parentheses) - Per-level styling: Each indentation level in a nested list can have its own style — e.g.,
Roman numerals at the top level, lowercase letters at the second, numbers at the third - Intuitive dropdown UI: A single toolbar button opens a grouped dropdown showing visual
previews of each style (e.g., "A. B. C.", "i) ii) iii)", "(1) (2) (3)") - No build step: The plugin is vanilla JavaScript — no webpack, no npm install, just enable
and go - Clean output: Styles are applied as CSS classes on
<ol>elements,
producing semantic HTML that works with assistive technologies - Lightweight: The front-end stylesheet is only attached on pages that actually use the
plugin, not globally
This module is useful for legal documents, academic content, government regulations, technical documentation,
or any content where precise list formatting matters. Out of the box, CKEditor 5 only offers basic numbered and
bulleted lists — this module fills the gap for sites that need control over numbering style and bracket
format.
Post-Installation
- Go to Administration > Configuration > Content authoring > Text formats and
editors - Edit a text format that uses CKEditor 5 (e.g., Full HTML)
- Make sure General HTML Support (GHS) is enabled under Filters with
<ol class>in the allowed HTML
- In the CKEditor 5 toolbar configuration, drag the List Style per Level button into your
active toolbar - Save the text format
That's it. Editors will now see the list style button in their toolbar whenever they're editing content with
that text format. Place the cursor inside any ordered list, click the button, and pick a style.
Additional Requirements
- Drupal 11 (core_version_requirement: ^11)
- CKEditor 5 (Drupal core module) — must be the selected editor for your text format
- Editor (Drupal core module)
- General HTML Support must be enabled on the text format with
<ol class>in the allowed elements so the CSS classes survive the HTML filter
No external JavaScript libraries, PHP packages, or third-party APIs are required.
Recommended modules/libraries
- CKEditor 5 List — If you also need unordered list style options (disc, circle, square),
this module complements Flexible List Options.
Similar projects
- List Style — Provides list-style-type options but uses CKEditor 4. Flexible List Options
is built specifically for CKEditor 5 with Drupal 11 support and adds bracket formatting (parentheses/periods)
that list-style-type CSS alone cannot achieve. - CKEditor 5 core list properties — CKEditor 5 has built-in list style type support, but
Drupal core does not expose it. Even where available, it only supports list-style-type and cannot produce
bracket formats like "A)" or "(1)".
Supporting this Module
This module is maintained as a community contribution. If you find it useful, the best way to support it is
by:
- Reporting bugs and feature requests in the issue queue
- Contributing patches or merge requests
- Writing documentation or tutorials