The ProseMirror WYSIWYM editor
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!
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.)
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.