Skip to content
A JavaScript library for web-based content editing.
JavaScript CSS
Latest commit 5a612e0 May 13, 2016 @michael michael Merge pull request #563 from substance/jats-converter
Adaptations evolved working on JATS converter

Substance Build Status

Substance is a JavaScript library for web-based content editing. It provides building blocks for realizing custom text editors and web-based publishing systems.

Read the introduction post, check the project website, the examples and the API documentation.

Substance Beta 4 introduces support for realtime collaboration. While still under development, you can already check out and run our full-stack collaborative Notepad application.


Features State
Custom document schemas
Custom converters (XML, HTML, etc.)
Custom HTML Rendering
Annotations that can span over multiple nodes
Annotations can hold information (e.g. a comment)
Incremental document updates (undoable operations)
Transformations for document manipulation
Custom editing toolbars
Commands for controlling the editor
I18N support
Realtime collaboration Beta 4
Persistence API for documents Beta 4
Key bindings Beta 5
Full Unicode support Beta 5
Plugins Beta 5
UI Components
TextPropertyEditor for editing annotated text
ContainerEditor for in-flow-editing
Scrollable ContentPanel with Support for highlights
Customizable Toolbar
ScrollPane with interactive visual Scrollbar
Interactive TOCPanel
Predefined content types
Embed (image, video, tweet etc.)
List Beta 4
Table Beta 4
Predefined annotation types
Comment Beta 4
Platform support
Mozilla Firefox (>=42)
Apple Safari (>=9)
Google Chrome (>=47)
Microsoft Edge
Mobile Safari (iOS) Beta 5
Mobile Chrome (Android) Beta 5


Install the dev dependencies.

npm install

Run the dev server.

npm start

Navigate to http://localhost:4201/docs for the docs and http://localhost:4201/test for the test suite.

To run the test-suite headless

$ npm test

To bundle the docs into a distribution:

$ npm run doc


Beta 4

ETA: May 2016

  • Realtime collaboration
  • Persistence API for documents
  • Table node
  • Editing of lists
  • Improved stability, documentation and tests
  • Full-stack platform example

Beta 5

  • Key bindings
  • Plugins
  • Improved Unicode support
  • Mobile support
  • Automatically generated performance report
  • Modules for server-side integration

1.0 Final

  • Complete documentation
  • Full test coverage
  • Final versions of API's
Something went wrong with that request. Please try again.