<link rel="stylesheet" href="/sitelet?url=https%3A%2F%2Ffonts.googleapis.com%2Fcss2%3Ffamily%3DFraunces%3Aital%2Copsz%2Cwght%400%2C9..144%2C400..600%3B1%2C9..144%2C400..600%26amp%3Bfamily%3DImperial%2BScript%26amp%3Bfamily%3DInter%3Awght%40400%3B500%3B600%26amp%3Bfamily%3DJetBrains%2BMono%3Awght%40400%3B500%26amp%3Bdisplay%3Dswap" />
Sitelet https://qalma.dev/examples

Search the Qalma docs

Type at least two characters to get started.

Examples

One engine, every surface

The same Qalma editor, dressed for the job. Pick a use case — each one ships with the recipe that built it.

Comment box

Compact toolbar, @mentions

Loading Qalma editor Example loading

Qalma is getting dressed for this surface...

TypeScript
import {
  createQalmaEditor,
  TextFormattingKit,
  InlineCodePlugin,
  LinkPlugin,
  ListsPlugin,
  MentionPlugin,
  PlaceholderPlugin,
  HardBreakPlugin,
  PasteRulesPlugin,
  HistoryPlugin,
} from '@qalma/editor';

// A comment box = the editor with a small, focused plugin subset.
const editor = createQalmaEditor({
  plugins: [
    ...TextFormattingKit,          // bold, italic, strike, underline
    InlineCodePlugin,
    LinkPlugin,
    ListsPlugin,
    MentionPlugin.configure({ trigger: '@' }),
    PlaceholderPlugin.configure({ placeholder: 'Write a comment…' }),
    HardBreakPlugin,
    PasteRulesPlugin,
    HistoryPlugin,
  ],
});

// A compact toolbar binds buttons to commands declaratively:
// <qalma-editor [editor]="editor">
//   <qalma-toolbar>
//     <button qalmaCommand="toggleBold">B</button>
//     <button qalmaCommand="toggleItalic">I</button>
//     <button qalmaCommand="toggleInlineCode">‹›</button>
//     <button qalmaCommand="toggleBulletList">•</button>
//   </qalma-toolbar>
//   <qalma-content />
// </qalma-editor>

Qalma — the qalam for Angular. Built on ProseMirror.