Skip to content

About

LikhaEditor is a fully open-source, self-hosted, framework-agnostic rich text editor designed for developers who want zero lock-in, no cloud dependency, and maximum flexibility.

Resources

Code of conduct

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

54 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LikhaEditor logo

LikhaEditor

A free, MIT-licensed rich text editor built on ProseMirror. Self-host the JavaScript and CSS or serve a pinned release from a CDN. No account, license key, mandatory cloud API, or paid feature tier.

Pre-1.0: manifests target v0.0.3. See production readiness and RELEASE_CHECKLIST.md. The repository owner runs npm login and pnpm publish:all after committing.

Documentation · Playground · Release status

Build and self-host

Use Node 22.12+ and pnpm 8.12.0:

pnpm install --frozen-lockfile
pnpm build
pnpm pre-publish
pnpm test:packages

Copy packages/html/dist/likha-editor.umd.js and likha-editor.css to your static assets:

<link rel="stylesheet" href="/assets/likha-editor.css">
<div id="editor"></div>
<script src="/assets/likha-editor.umd.js"></script>
<script>
  const instance = LikhaEditor.createEditor({
    element: '#editor',
    content: '<p>Start writing...</p>',
    onChange: html => console.log(html)
  });
  // Call instance.destroy() when unmounting.
</script>

For a published version, the equivalent npm entry point is:

import { createEditor } from '@likhaeditor/likhaeditor';
import '@likhaeditor/likhaeditor/dist/likha-editor.css';

Pin the exact released version in production, including CDN URLs. New local features are unavailable from public CDN/npm until a release is published.

Implemented in this checkout

  • Paragraphs, headings, lists, blockquotes, code blocks, links, images, and horizontal rules.
  • Inline formatting, text color/highlight, alignment, undo/redo, source editing, and read-only mode.
  • Table insertion, row/column operations, headers, cell merge/split, and keyboard navigation.
  • Literal find/replace, validated document JSON, and CommonMark import/export for supported nodes.
  • Autosave callback with coalescing, flush, and cancellation.
  • Application-owned image upload callback, paste/drop hooks, and client MIME/size limits.
  • Optional range comments with resolve/reopen/delete and explicit version snapshots with persistence adapters.
  • Standalone browser bundle, TypeScript declarations, configurable toolbar, and plugin APIs.

Comments are separate metadata; snapshots currently contain only the document. Deleted comment ranges become orphaned. Markdown cannot preserve every HTML feature. Upload security, content validation, authentication, and storage belong to the host application.

Hosted multi-user collaboration, Filament package, media crop/resize UI, and formal accessibility certification remain open. Track changes, syntax highlighting, and React/Laravel/Livewire adapters ship in 0.0.3. See ROADMAP.md for [x] / [ ] phase checklists and release status.

Packages

Directory Package Purpose
packages/core @likhaeditor/core Editor engine and schema
packages/ui @likhaeditor/ui Toolbar and menus
packages/plugins @likhaeditor/plugins Official plugins
packages/html @likhaeditor/likhaeditor Vanilla adapter and standalone bundle
packages/react @likhaeditor/likhaeditor-react React component and useEditor hook
packages/laravel likha/laravel (Composer) Blade component
packages/livewire likha/livewire (Composer) Livewire 3 component

Filament remains a documentation-only integration pattern; use Laravel Blade or the vanilla adapter.

Verification and website

pnpm pre-publish
pnpm exec playwright install chromium firefox webkit
pnpm test:browser
pnpm docs:build
pnpm test:site
pnpm audit

The website builds the workspace editor into its interactive playground, so an npm release is not needed to preview or deploy repository changes. Netlify runs the package build before the documentation build. Run pnpm docs:preview for a local preview.

Contributing and license

See CONTRIBUTING.md. Report reproducible bugs in GitHub issues.

MIT licensed, free for personal and commercial use. Retain the copyright and license notice when redistributing. Built by Shiv Singh and contributors, using ProseMirror.

About

LikhaEditor is a fully open-source, self-hosted, framework-agnostic rich text editor designed for developers who want zero lock-in, no cloud dependency, and maximum flexibility.

Resources

Code of conduct

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages