• Stars
    star
    7,692
  • Rank 4,961 (Top 0.1 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 9 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The ProseMirror WYSIWYM editor

prosemirror

[ WEBSITE | ISSUES | FORUM ]

ProseMirror is a well-behaved rich semantic content editor based on contentEditable, with support for collaborative editing and custom document schemas.

The ProseMirror library consists of a number of separate modules. This repository just serves as a central issue tracker, and holds a script to help easily check out all the core modules for development.

The project page has more information, a number of examples and the documentation.

This code is released under an MIT license. There's a forum for general discussion and support requests, and the Github bug tracker is the place to report issues.

STOP READING HERE IF YOU'RE SIMPLY USING PROSEMIRROR. YOU CAN INSTALL THE SEPARATE NPM MODULES FOR THAT. THE INSTRUCTIONS BELOW ONLY APPLY WHEN DEVELOPING PROSEMIRROR!

Setting up a dev environment

Clone this repository, and make sure you have node and yarn (due to a string of issues with NPM 5, NPM is not currently supported) installed. Next, from the cloned directory run:

bin/pm install

This will fetch the submodules, install their dependencies, and build them.

The bin/pm script in this repository provides functionality for working with the repositories:

  • bin/pm build rebuilds all the modules

  • bin/pm watch sets up a process that automatically rebuilds the modules when they change

  • bin/pm status prints the git status of all submodules

  • bin/pm commit <args> runs git commit with the given arguments in all submodules that have pending changes

  • bin/pm test runs the (non-browser) tests in all modules

  • bin/pm push runs git push in all modules

  • bin/pm grep <pattern> greps through the source code for the modules for the given pattern

  • bin/pm dev-start starts a server that rebuilds the packages whenever their sources change, and exposes the demo (demo/*) under a webserver on port 8080

(Functionality for managing releases will be added in the future.)

Community

Development of ProseMirror happens in the various repositories exposed under the ProseMirror organization on GitHub. Bugs for core packages are tracked in the bug tracker for the meta repository.

We aim to be an inclusive, welcoming community. To make that explicit, we have a code of conduct that applies to communication around the project.

More Repositories

1

prosemirror-view

ProseMirror's view component
TypeScript
1,681
star
2

prosemirror-markdown

ProseMirror Markdown integration
TypeScript
337
star
3

prosemirror-model

ProseMirror's document model
TypeScript
268
star
4

prosemirror-tables

Table module for ProseMirror
TypeScript
259
star
5

prosemirror-state

ProseMirror editor state
TypeScript
181
star
6

website

The ProseMirror website
JavaScript
180
star
7

prosemirror-example-setup

An example of how to set up a ProseMirror editor
TypeScript
140
star
8

prosemirror-transform

ProseMirror document transformations
TypeScript
138
star
9

prosemirror-collab

Collaborative editing for ProseMirror
TypeScript
101
star
10

prosemirror-commands

Editing commands for ProseMirror
TypeScript
100
star
11

prosemirror-changeset

Distills a series of editing steps into deleted and added ranges
TypeScript
78
star
12

prosemirror-schema-basic

Basic schema elements for ProseMirror
TypeScript
63
star
13

prosemirror-menu

Simple menu elements for ProseMirror
TypeScript
52
star
14

prosemirror-dropcursor

A drop cursor plugin for ProseMirror
TypeScript
50
star
15

prosemirror-history

Undo history for ProseMirror
TypeScript
43
star
16

prosemirror-inputrules

Automatic transforms on text input for ProseMirror
TypeScript
35
star
17

prosemirror-schema-list

List-related schema elements and commands for ProseMirror
TypeScript
31
star
18

prosemirror-gapcursor

Plugin for cursors at normally impossible-to-reach positions
TypeScript
27
star
19

rfcs

ProseMirror RFCs
26
star
20

prosemirror-search

Search/replace functionality for ProseMirror
TypeScript
23
star
21

prosemirror-keymap

Keymap plugin for ProseMirror
TypeScript
22
star
22

prosemirror-test-builder

Document building utilities for writing tests
TypeScript
19
star
23

prosemirror-schema-table

Table-related schema elements and commands for ProseMirror
JavaScript
6
star
24

buildhelper

Build and test scripts for ProseMirror packages
JavaScript
4
star