DemoDocsPlaygroundGitHub

An extensible rich text editor framework built on Lexical. Ship faster with production-ready defaults and TypeScript-first APIs.

Documentation

IntroductionInstallation@lyfie/luthor-headless@lyfie/luthor

Resources

DemoFeaturesPlaygroundGitHubluthor @ npmluthor-headless @ npm

Support the Project

Buy me a coffeeStar on GitHub

Built with ❤️ by Lyfie.org

HomeDocsFeaturesDemoGitHubllms.txtllms-full.txt
  1. Home
  2. Docs
  3. Luthor
  4. Presets
  5. Slash Editor

Luthor Documentation

Getting Started

  • Introduction
  • Installation
  • Contributor Guide
  • AI Agents and Vibe Coding
  • Capabilities
  • @lyfie/luthor-headless
  • @lyfie/luthor

@lyfie/luthor-headless

  • Architecture
  • Extensions and API
  • Metadata Comment System
  • Features
  • Typography and Text
  • Structure and Lists
  • Media and Embeds
  • Code and Devtools
  • Interaction and Productivity
  • Customization and Theming

@lyfie/luthor

  • Architecture
  • Props Reference
  • Feature Flags
  • Presets
  • Extensive Editor
  • Compose Editor
  • Simple Editor
  • Legacy Rich Editor
  • MD Editor
  • HTML Editor
  • Slash Editor
  • Headless Editor

Slash Editor

SlashEditor is a slash-first preset tuned for command-driven writing.

Usage

tsx
import { SlashEditor } from '@lyfie/luthor';
import '@lyfie/luthor/styles.css';

export function App() {
  return <SlashEditor showDefaultContent={false} />;
}

Props

SlashEditorProps inherits ExtensiveEditorProps except featureFlags and isToolbarEnabled, then re-adds both.

  • slashVisibility: undefined (default) | SlashCommandVisibility
  • isDraggableEnabled: true (default) | false
  • featureFlags: undefined (default) | FeatureFlagOverrides
  • isToolbarEnabled: false (default) | true

Behavior

Defaults keep toolbar hidden, enable draggable blocks, and provide a curated slash-command allowlist for fast block creation.

Default modes

  • availableModes: ["visual", "json", "markdown", "html"]

Default slash allowlist

  • format.bold, format.italic, format.underline, format.strikethrough, format.code
  • block.paragraph, block.heading1 to block.heading6, block.quote, block.codeblock
  • list.bullet, list.numbered, list.check
  • link.insert, insert.horizontal-rule, insert.table

Feature policy notes

  • Enforced: slashCommand: true, commandPalette: false
  • Default: isToolbarEnabled = false
  • Override available through props if your product needs a visible toolbar
Previous: HTML Editor
Next: Headless Editor