Halka Editor

A headless, framework-agnostic rich text editor kernel for the web. Build your own toolbar; Halka handles the DOM, selection, and plugins.

Quick start

Install & setup
pnpm add halka

import { HalkaEditor } from 'halka';
import { historyPlugin } from 'halka/plugins/history';
import { pastePlugin } from 'halka/plugins/paste';

const editor = new HalkaEditor(document.getElementById('editor')!, {
  plugins: [historyPlugin, pastePlugin]
});
editor.setHTML('<p>Hello world</p>');

Features

  • Headless core

    Commands, queries, transforms, selection

  • 10 plugins

    History, lists, tables, footnotes, find-replace…

  • Clean DOM

    Pending formats without zero-width spaces

  • Schema-aware

    Block, inline, and void categorization

  • Svelte UI

    Optional RichTextEditor in this repo

  • TypeScript

    Typed commands, state, and events

Read the full documentation →

MIT · Halka Editor