substance / substance
- пятница, 18 марта 2016 г. в 02:17:24
JavaScript
A JavaScript library for web-based content editing.
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 | |
Paragraph | ✓ |
Heading | ✓ |
Blockquote | ✓ |
Codeblock | ✓ |
Image | ✓ |
Embed (image, video, tweet etc.) | ✓ |
List | Beta 4 |
Table | Beta 4 |
Predefined annotation types | |
Strong | ✓ |
Emphasis | ✓ |
Link | ✓ |
Subscript | ✓ |
Superscript | ✓ |
Code | ✓ |
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
ETA: March 2016