Infomaker / substance

A JavaScript library for web-based content editing.

Home Page:http://substance.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

Check the project website and the documentation.

Features

Features State
Custom document schemas
Custom converters (XML, HTML, etc.)
Custom HTML Rendering
Drag & Drop Support
Annotations can hold information (e.g. a comment)
Annotations that can span over multiple nodes Beta 7
Isolated Nodes (any content with any custom UI)
Incremental document updates (undoable operations)
Transformations for document manipulation
Custom editing toolbars
Commands for controlling the editor
Multi-language support
Realtime collaboration
Persistence API for documents
Text Macros
Key bindings
Packages (aka Plugins)
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
List
Table
Predefined annotation types
Strong
Emphasis
Link
Subscript
Superscript
Code
Platform support
Mozilla Firefox (>=49)
Apple Safari (>=10)
Google Chrome (>=53)
Microsoft Edge

Development

Install the dev dependencies.

npm install

Run the dev server.

npm start

Navigate to http://localhost:5550/docs for the docs and http://localhost:5550/test for the test suite. Test suite and docs are rebuilt as you make changes to the source files.

If you only work on the documentation, this recompiles faster.

npm run docs

To run the test-suite headless.

$ npm test

About

A JavaScript library for web-based content editing.

http://substance.io

License:MIT License


Languages

Language:JavaScript 92.6%Language:HTML 5.2%Language:CSS 2.2%