Next-gen, highly customizable content editor for the browser - based on React and Redux. WYSIWYG on steroids.
PeterKottas and aeneasr plugins/bg: css fix (#624)
Signed-off-by: Peter Kottas <petokottas@gmail.com>
Latest commit f57c527 Nov 20, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config Upgrade material ui 1.2.0 (#547) Aug 9, 2018
docs Update docs, links and content (#613) Oct 28, 2018
examples Update docs, links and content (#613) Oct 28, 2018
flow-typed/npm Bump flow-bin and update typdefs Aug 22, 2018
packages plugins/bg: css fix (#624) Nov 20, 2018
.babelrc emove ejected react-scripts from examples Aug 22, 2018
.editorconfig 0.0.1: public early access release πŸ”₯ πŸš’ πŸ”₯ Nov 9, 2016
.eslintignore all: greatly improve build toolchain (#370) May 14, 2017
.eslintrc all: greatly improve build toolchain (#370) May 14, 2017
.flowconfig Bump flow-bin and update typdefs Aug 22, 2018
.gitignore plugins/content: add html5-video plugin Aug 29, 2017
.travis.yml travis: Skip flow see #568 Aug 22, 2018
.yarnclean core: mix resize indicator with background for better visibility Sep 8, 2017
CONTRIBUTING.md 0.0.1: public early access release πŸ”₯ πŸš’ πŸ”₯ Nov 9, 2016
LICENSE license: update to lgpl Jun 12, 2017
Procfile all: implement heroku deploy May 14, 2017
README.md Update README.md Nov 15, 2018
UPGRADE.md docs: Add upgrade.md Aug 25, 2018
babelrc all: greatly improve build toolchain (#370) May 14, 2017
book.json 0.0.1: public early access release πŸ”₯ πŸš’ πŸ”₯ Nov 9, 2016
lerna.json emove ejected react-scripts from examples Aug 22, 2018
logo.png 0.0.1: public early access release πŸ”₯ πŸš’ πŸ”₯ Nov 9, 2016
nodemon.json 0.0.1: public early access release πŸ”₯ πŸš’ πŸ”₯ Nov 9, 2016
package.json Bump flow-bin and update typdefs Aug 22, 2018
postcss.config.js Bump development and build dependencies Aug 22, 2018
travis-deploy.sh travis: Upgrade travis deployment script (#575) Aug 25, 2018
yarn.lock Bump flow-bin and update typdefs Aug 22, 2018

README.md

aeneasr/ory-editor

Build Status Coverage Status Docs Guide

Follow twitter Follow GitHub

The ORY Editor is a smart, extensible and modern editor ("WYSIWYG") for the web written in React. If you are fed up with the limitations of contenteditable, you are in the right place.

ORY Editor demo

The ORY Editor is used at Germany's largest (~800k uniques per month) E-Learning Website www.serlo.org to improve the wiki experience.

Check out the demo at ory-editor.aeneas.io!




IMPORTANT: This editor is pre-release and backwards compatibility is not guaranteed. It is maintained as a personal project by its author and core-maintainer Aeneas Rekkas.

Introduction

I have been part of the Wikipedia for learning for almost a decade now. The experience and the lessons learned made me embark on the journey to build the ORY Editor. I wanted to make content editing on the web easy and enrich the Open Source Community with technology that moves the needle significantly for how content is created and edited on the web.

What's the problem?

I had to realize that existing open source content editing solutions had one of the three flaws:

  • The produced markup was horrific, a lot of sanitation had to take place and XSS is always a threat.
  • The author must learn special mark up, like markdown, before being able to produce content. These text-based solutions are usually unable to specify a layout and complex data structures like tables are annoying to edit.
  • Editors based on contenteditable are unable to work with layouts (e.g. flexbox or floating grids).

So what's different?

I concluded that a solution must meet the following principles:

  • The state is a normalized JSON object, no HTML involved.
  • It is a visual editor that does not require programming experience or special training.
  • Based on reusable React Components, it gives developers, authors and designers new ways of working together and creating better and richer experiences more easily.
  • It works on mobile and touch devices.

With these principles in mind, I went out and implemented the ORY Editor, which you are looking at right now.

Quickstart

Currently the focus is on optimizing the ORY Editor for usage with React. Versions that do not require React in the future may be shipped at some point. Please check the ReactJS tutorial!

$ npm install --save ory-editor

Note: The ory-editor package is a metapackage. It includes the core, the default ui and some officially supported plugins. Use this package primarily for convenience.

Documentation

Check out the user guide on gitbook.

How to run, develop, and contribute

Do you want to run, develop or contribute to the ORY Editor? For that you need Node installed on your system. Use git to check out this repository as followed.

$ git clone https://github.com/ory/editor.git
$ cd editor

Install dependencies

The ORY Editor is a monorepo that you initialise with:

$ yarn i

To work properly, you'll need yarn.

Run the example(s)

Here are some examples that are a good starting point if you want to familiarize yourself with the editor. To run the examples, use one of the following commands:

$ yarn run build
$ cd examples
$ yarn run start

Run the toolchain

The toolchain contains tests, eslint and flow types. It is highly recommended to run this toolchain while developing.

# run the tests in watch mode
$ yarn run test:watch

# run eslint in watch mode
$ yarn run lint:watch

# run flowtype in watch mode
$ yarn run flow:watch

Run the documentation

To run the guide in watch mode, do:

$ yarn run docs:guide

To generate API docs, run:

$ yarn run docs:api

Known issues

Known issues are tracked in the issues tab.