Drupal is a registered trademark of Dries Buytaert
Release: Leaflet 10.4.11 Minor update available for module leaflet (10.4.11). Release: Session Inspector 1.0.8 Minor update available for module session_inspector (1.0.8). Release: Migrate QA 2.0.4 Minor update available for module migrate_qa (2.0.4). Release: CKEditor Description List 3.0.0 Major update available for module ckeditor_descriptionlist (3.0.0). Release: FlowDrop 2.4.0 Minor update available for module flowdrop (2.4.0). Release: JWT Token Refresh 1.0.4 Minor update available for module jwt_token_refresh (1.0.4). Release: ConReg 1.0.0-beta1 First beta version released for module conreg (1.0.0-beta1). Release: AI Image Studio 1.0.0-beta8 New beta version released for module ai_image_studio (1.0.0-beta8). Usage Milestone: Statistics Counter Module statistics_counter crossed 1,000 active installs. Module Revived: Decoupled Router 2.0.7 Module decoupled_router updated after 11 months of inactivity (2.0.7).

Flexible List Options

13 sites No security coverage
View on drupal.org

This module adds a CKEditor 5 button allowing content editors to choose various ordered list numbering styles and bracket formats, with options applied independently per indentation level.

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

  1. Go to Administration > Configuration > Content authoring > Text formats and
    editors
  2. Edit a text format that uses CKEditor 5 (e.g., Full HTML)
  3. Make sure General HTML Support (GHS) is enabled under Filters with
    <ol
      class>

    in the allowed HTML

  4. In the CKEditor 5 toolbar configuration, drag the List Style per Level button into your
    active toolbar
  5. 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.

  • 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

Activity

Tracked releases
2
Tracked since
Apr 2026
Latest release
4 months ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Active

Releases

Version Type Release date
1.0.0 Stable Apr 7, 2026
1.0.x-dev Dev Apr 7, 2026