awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
sofish avatar

sofish/pen

0
View on GitHub↗
4,802 stars·405 forks·JavaScript·23 viewssofish.github.io/pen↗

Pen

Pen is a visual WYSIWYG markdown editor and live editing interface that converts markdown patterns into rich text elements in real-time. It serves as a tool for markdown content authoring and transforming editor state into standard markdown strings for export.

The editor features a customizable text interface with a formatting toolbar for text-styling actions. It includes systems for hyperlink management and the automatic conversion of specific character sequences into structured headings, lists, blockquotes, and code blocks during the input process.

The project provides capabilities for real-time collaborative editing, visual text editor integration, and programmatic editor access control to manage user modification rights.

Features

  • Markdown-Based Content Authoring - Provides a markdown-based authoring experience where shortcuts convert instantly to rich formatted elements.
  • Visual Markdown Editors - Provides a visual what-you-see-is-what-you-get interface for authoring and editing markdown content with a real-time preview.
  • Markdown to Rich Text Parsers - Converts markdown syntax at the start of a line into structured rich text objects.
  • Rich Text Format Parsers - Implements logic that transforms real-time character sequences into formatted rich text elements.
  • Visual State Reconciliation - Synchronizes the visual text representation with the underlying data model during live editing.
  • Live-Rendering Markdown Editors - Offers a real-time editing interface that converts markdown patterns into rich text as the user types.
  • Real-time Input Formatting - Dynamically formats plain text inputs into structured headings and lists as the user types.
  • Text Editing Components - Provides a customizable rich text editing interface for real-time content formatting.
  • Rich Text Editors - Integrates a customizable rich text editing interface and formatting toolbar into web applications.
  • Markdown Exports - Transforms the editor state into standardized markdown strings for use in external applications.
  • Document Element Insertion - Enables the insertion of horizontal rules, blockquotes, and code blocks via trigger characters.
  • Trigger-Based Injections - Automatically injects structural elements like code blocks based on specific character triggers.
  • Markdown Serializers - Provides utilities to convert the internal editor state into standardized markdown strings for export.
  • Command-Mapped Toolbars - Ships a formatting toolbar that maps UI interactions to internal programmatic styling commands.
  • Toolbar Button Customizations - Allows definition of specific text-styling actions and tooltips within the editing toolbar.
  • Real-Time Collaborative Editing - Synchronizes data changes across multiple users for simultaneous editing of the shared document.
  • Editors - Online editor with Markdown support.
  • Rich Text Editors - Live editing tool with Markdown support.
  • Standalone Editors - Live editing interface with Markdown support.

Star history

Star history chart for sofish/penStar history chart for sofish/pen

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Pen

Similar open-source projects, ranked by how many features they share with Pen.
  • yabwe/medium-editoryabwe avatar

    yabwe/medium-editor

    16,102View on GitHub↗

    This project is a browser-based JavaScript library that transforms standard web elements into inline, WYSIWYG rich text editing areas. It functions as a programmatic wrapper around the native browser content-editable attribute, providing a structured interface for managing text input, media embedding, and document formatting directly within existing page layouts. The editor is distinguished by its contextual floating toolbar, which dynamically appears based on user text selection to provide relevant formatting options. It utilizes a plugin-based architecture that allows developers to inject c

    JavaScriptcontenteditableeditorjavascript
    View on GitHub↗16,102
  • jpuri/react-draft-wysiwygjpuri avatar

    jpuri/react-draft-wysiwyg

    6,471View on GitHub↗

    This project is a rich text editor component for React applications that provides a visual interface for composing and formatting content. It functions as a DraftJS-based WYSIWYG editor, allowing users to create structured documents with inline styles and block types. The editor features a customizable toolbar interface for managing text alignment, lists, and media embeds. It includes a specialized input system for inserting emojis, hashtags, and user mentions as single deletable units. The project provides capabilities for transforming internal editor state into HTML, JSON, or Markdown form

    JavaScript
    View on GitHub↗6,471
  • mindmup/bootstrap-wysiwygmindmup avatar

    mindmup/bootstrap-wysiwyg

    5,515View on GitHub↗

    bootstrap-wysiwyg is a WYSIWYG HTML editor and browser-based content editor designed to integrate with the Bootstrap CSS framework. It provides a visual interface for creating and formatting rich text content that outputs HTML markup. The editor allows for custom text formatting workflows through the configuration of toolbars and keyboard shortcuts. Users can embed images via drag-and-drop and utilize a dedicated process to clean up redundant tags and whitespace in the generated markup.

    HTML
    View on GitHub↗5,515
  • alex-d/trumbowygAlex-D avatar

    Alex-D/Trumbowyg

    4,147View on GitHub↗

    Trumbowyg is a lightweight JavaScript WYSIWYG editor used to create and format rich-text and HTML content directly within a web browser. It serves as a client-side tool for generating semantic HTML markup and authoring web content. The project features a modular, plugin-based architecture that allows for the addition of new formatting commands and toolbar buttons. It provides a configurable interface where the toolbar layout can be customized via a predefined array and labels can be translated through localization files. The editor covers a wide range of content manipulation capabilities, in

    JavaScript
    View on GitHub↗4,147
See all 30 alternatives to Pen→

Frequently asked questions

What does sofish/pen do?

Pen is a visual WYSIWYG markdown editor and live editing interface that converts markdown patterns into rich text elements in real-time. It serves as a tool for markdown content authoring and transforming editor state into standard markdown strings for export.

What are the main features of sofish/pen?

The main features of sofish/pen are: Markdown-Based Content Authoring, Visual Markdown Editors, Markdown to Rich Text Parsers, Rich Text Format Parsers, Visual State Reconciliation, Live-Rendering Markdown Editors, Real-time Input Formatting, Text Editing Components.

What are some open-source alternatives to sofish/pen?

Open-source alternatives to sofish/pen include: yabwe/medium-editor — This project is a browser-based JavaScript library that transforms standard web elements into inline, WYSIWYG rich… jpuri/react-draft-wysiwyg — This project is a rich text editor component for React applications that provides a visual interface for composing and… mindmup/bootstrap-wysiwyg — bootstrap-wysiwyg is a WYSIWYG HTML editor and browser-based content editor designed to integrate with the Bootstrap… alex-d/trumbowyg — Trumbowyg is a lightweight JavaScript WYSIWYG editor used to create and format rich-text and HTML content directly… mycolorway/simditor — Simditor is a JavaScript-based rich text editor and WYSIWYG HTML editor designed for creating structured documents… red-axe/am-editor — This project is a framework for building real-time collaborative rich-text editing environments. It provides a…