Skip to content

arkcabin/arkpad

Repository files navigation

Arkpad

The Ultimate Modular Rich Text Framework.

Live Demo | NPM Packages

Arkpad is an enterprise-grade rich text editor built on ProseMirror. It provides a sophisticated, developer-first API designed for building powerful, reliable, and highly customizable editing experiences.

Arkpad Toolbar Preview

✨ Features

  • 🚀 Extreme Performance — Optimized for large, complex documents.
  • 🎨 Painting Tools — Built-in Highlighter and Eraser "drawing" modes.
  • 🧩 100% Modular — Tiny core, infinite extensions.
  • 🛡️ Type-Safe — First-class TypeScript support.
  • 🎨 Headless — Complete CSS/UI freedom.
  • 🔍 Native Search — High-performance search and replace API.

📦 Packages

Package Version Description
@arkpad/core 1.6.4 The core editor engine.
@arkpad/react 1.6.4 React hooks and components.

🚀 Quick Start

npm install @arkpad/react @arkpad/core
import { useArkpadEditor, ArkpadEditorContent } from "@arkpad/react";
import { Essentials } from "@arkpad/core";

export default function App() {
  const editor = useArkpadEditor({
    extensions: [Essentials],
    content: "<h1>The Ultimate Arkpad UI</h1>",
  });

  if (!editor) return null;

  return (
    <div className="ark-editor">
      <div className="toolbar">
        <button
          onClick={() => editor.commands.toggleBold()}
          className={editor.isActive("strong") ? "is-active" : ""}
        >
          Bold
        </button>
      </div>
      <ArkpadEditorContent editor={editor} />
    </div>
  );
}

📖 Documentation

🛠 Features in Core

The following features are available in the @arkpad/core Essentials bundle:

  • Typography: Bold, Italic, Underline, Strike, Code, Sub/Superscript.
  • Structure: Headings 1-4, Blockquotes, Dividers, Images.
  • Lists: Bullet, Ordered, and Task lists.
  • Tools: Highlighter, Eraser, Search/Replace, Undo/Redo.
  • Alignment: Left, Center, Right, Justify.

🚀 Versioning & Release Flow

Arkpad uses an automated, conventional-commit-driven monorepo release workflow:

  • Automatic Version Bumps: Any change to source code in packages/* or apps/* triggers version updates in package.json automatically on merge to main.
  • Private Workspaces: Workspaces marked as private (like the @arkpad/app demo and docs site) have their internal dependencies and version numbers bumped to keep everything in sync, but they are never published to npm.
  • Beautiful Emojified Changelogs: Commit messages are parsed and grouped using Conventional Commits, with categories formatted beautifully:
    • ✨ Features
    • 🐛 Bug Fixes
    • ⚡ Performance Improvements
    • 📝 Documentation
    • ♻️ Refactoring
    • 🎨 Styles & UI
    • 📦 Others
  • GitHub Releases: Each package release is accompanied by a GitHub Release populated with the exact changelog notes extracted from its CHANGELOG.md.

For more details on setting up package authentication or trusted publishing, refer to docs/PUBLISHING.md.


Built with ❤️ by ArkCabin