MenuConfig

Configuration for the reveal.js menu plugin. Only takes effect when PresentationConfig.enableMenu is true.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard

When true, menu panels auto-open during keyboard navigation. Only applies when both keyboard and sticky are enabled.

Link copied to clipboard

Enable support for custom menu panels. See the menu plugin's docs for the panel shape.

Link copied to clipboard

When true, the menu is not created until RevealMenu.init() is called manually. Defers creation of all panels and the open button.

Link copied to clipboard

When true, slides without any resolvable title are omitted from the menu entirely.

Link copied to clipboard

When true, the user can open and navigate the menu with the keyboard. Reveal.js keyboard shortcuts are suspended while the menu is open.

Link copied to clipboard

When true (the default), the menu plugin auto-loads Font Awesome. Set to false if your presentation already loads Font Awesome to avoid a duplicate fetch.

Link copied to clipboard

When true, show visited / current-slide progress markers next to menu items.

Link copied to clipboard

When true, add slide numbers to the titles in the menu list.

Link copied to clipboard

When true, render a hamburger button on the slides to open the menu.

Link copied to clipboard

When true, the menu is visible immediately after initialization.

Link copied to clipboard

When true, clicking the slide number opens the menu. Requires PresentationConfig.slideNumber to be enabled.

Link copied to clipboard

Side of the viewport the menu opens from. "left" or "right".

Link copied to clipboard

When true, the menu stays open until explicitly closed (Esc or the m key when keyboard is on). Otherwise normal user actions dismiss it.

Link copied to clipboard

Enable the themes menu panel. true uses the default theme list; for a custom theme list, set the raw option instead via revealjsOption("themes", listOf(...)).

Link copied to clipboard

Base directory for the default theme CSS files. Only used when themes is true and no custom list is provided.

Link copied to clipboard

CSS selector used to extract a slide's title. Defaults to the first heading (h1, h2, h3, h4, h5, h6). A data-menu-title attribute or an element with class="menu-title" on a slide takes precedence.

Link copied to clipboard

Enable the transitions menu panel.

Link copied to clipboard

When true, slides without a matching title selector fall back to using the first bit of text content as the menu label.

Link copied to clipboard

Menu width. Accepts a named size ("normal", "wide", "third", "half", "full") or any valid CSS length.

Functions

Link copied to clipboard
open fun merge(other: AbstractConfig)

Merge other into this config in place: every entry from other's two maps is copied into this config's maps, with later puts overwriting earlier keys. This is how the global → presentation → slide cascade resolves (parent merged first, then child).

Link copied to clipboard
open fun revealjsOption(key: String, value: Any)

Set a raw reveal.js config option by key for options kslides does not expose as a typed property (e.g. the menu plugin's themes array). The value is emitted verbatim into the Reveal.initialize({...}) call and participates in the config cascade like any other option. Prefer the typed properties where they exist.