• Stars
    star
    7,144
  • Rank 5,139 (Top 0.2 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 8 years ago
  • Updated 4 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,478
star
2

prosemirror-markdown

ProseMirror Markdown integration
TypeScript
292
star
3

prosemirror-model

ProseMirror's document model
TypeScript
231
star
4

prosemirror-tables

Table module for ProseMirror
TypeScript
221
star
5

website

The ProseMirror website
JavaScript
167
star
6

prosemirror-state

ProseMirror editor state
TypeScript
159
star
7

prosemirror-example-setup

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

prosemirror-transform

ProseMirror document transformations
TypeScript
113
star
9

prosemirror-collab

Collaborative editing for ProseMirror
TypeScript
95
star
10

prosemirror-commands

Editing commands for ProseMirror
TypeScript
84
star
11

prosemirror-changeset

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

prosemirror-schema-basic

Basic schema elements for ProseMirror
TypeScript
55
star
13

prosemirror-menu

Simple menu elements for ProseMirror
TypeScript
46
star
14

prosemirror-history

Undo history for ProseMirror
TypeScript
37
star
15

prosemirror-dropcursor

A drop cursor plugin for ProseMirror
TypeScript
36
star
16

rfcs

ProseMirror RFCs
25
star
17

prosemirror-schema-list

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

prosemirror-gapcursor

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

prosemirror-inputrules

Automatic transforms on text input for ProseMirror
TypeScript
23
star
20

prosemirror-keymap

Keymap plugin for ProseMirror
TypeScript
19
star
21

prosemirror-test-builder

Document building utilities for writing tests
TypeScript
15
star
22

prosemirror-schema-table

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

buildhelper

Build and test scripts for ProseMirror packages
JavaScript
3
star