All Projects → forgeworks → quill-delta-python

forgeworks / quill-delta-python

Licence: MIT license
Python port of the Quill-JS Delta library - Has support for HTML Rendering

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to quill-delta-python

Infinitex
A LaTeX and WYSIWYG editor with academic search functionality and other helpful tools
Stars: ✭ 145 (+326.47%)
Mutual labels:  quilljs
coeditor
Yet Another Pair Programming Package for Atom.
Stars: ✭ 27 (-20.59%)
Mutual labels:  operational-transformation
slate-operational-transform
Slate Operational Transform Demo (used in production at Narration Box)
Stars: ✭ 34 (+0%)
Mutual labels:  operational-transformation
Quill Emoji
Quill module toolbar extension for emoji
Stars: ✭ 175 (+414.71%)
Mutual labels:  quilljs
Ng Quill
AngularJS Component for Quill rich text editor
Stars: ✭ 223 (+555.88%)
Mutual labels:  quilljs
operational-transform-demo
Implementation/demo of collaborative text editing via operational transforms.
Stars: ✭ 62 (+82.35%)
Mutual labels:  operational-transformation
Quill Markdown Shortcuts
Quill.js module that converts markdown to rich text formatting while typing.
Stars: ✭ 116 (+241.18%)
Mutual labels:  quilljs
bayou
Collaborative document editing, with Quill-based front end
Stars: ✭ 21 (-38.24%)
Mutual labels:  operational-transformation
Ngx Quill Editor
🍡@quilljs editor component for @angular
Stars: ✭ 234 (+588.24%)
Mutual labels:  quilljs
Operational-Transformation
A collection of Algorithms to Synchronise changes across multiple clients using Operational Transformation
Stars: ✭ 25 (-26.47%)
Mutual labels:  operational-transformation
Quill Better Table
Module for better table in Quill, more useful features are supported.
Stars: ✭ 175 (+414.71%)
Mutual labels:  quilljs
Vue2 Editor
A text editor using Vue.js and Quill
Stars: ✭ 2,316 (+6711.76%)
Mutual labels:  quilljs
angular quill
Angular dart component for the Quill rich text editor
Stars: ✭ 22 (-35.29%)
Mutual labels:  quilljs
Yii2 Podium
Yii 2 forum module project
Stars: ✭ 172 (+405.88%)
Mutual labels:  quilljs
ngx-quill-lite
A light weight Angular wrapper of Quilljs, powerful rich text editor
Stars: ✭ 20 (-41.18%)
Mutual labels:  quilljs
Ngx Quill Example
demo app for the advanced usage of ngx-quill module
Stars: ✭ 137 (+302.94%)
Mutual labels:  quilljs
collaborative-editor
A collaborative editor that supports authorship display, image uploading placeholder and CJK characters composition based on Quill and ShareDB.
Stars: ✭ 78 (+129.41%)
Mutual labels:  operational-transformation
django-quill
Easily use Quill.js in your django admin.
Stars: ✭ 54 (+58.82%)
Mutual labels:  quilljs
quilljs-rails
Easy integration of Quill rich editor with most Rails forms.
Stars: ✭ 33 (-2.94%)
Mutual labels:  quilljs
richtextpy
An operational transformation library for rich text documents
Stars: ✭ 41 (+20.59%)
Mutual labels:  operational-transformation

Delta (Python Port)

Python port of the javascript Delta library for QuillJS: https://github.com/quilljs/delta

Some basic pythonizing has been done, but mostly it works exactly like the above library.

There is no other python specific documentation at this time, sorry. Please see the tests for reference examples.

Install with Poetry

With HTML rendering:

> poetry add -E html quill-delta

Without HTML rendering:

> poetry add quill-delta

Install with pip

Note: If you're using zsh, see below.

With HTML rendering:

> pip install quill-delta[html]

With HTML rendering (zsh):

> pip install quill-delta"[html]"

Without HTML rendering:

> pip install quill-delta

Rendering HTML in Python

This library includes a module delta.html that renders html from an operation list, allowing you to render Quill Delta operations in full from a Python server.

For example:

from delta import html

ops = [ 
    { "insert":"Quill\nEditor\n\n" },
    { "insert": "bold",
      "attributes": {"bold": True}},
    { "insert":" and the " },
    { "insert":"italic",
      "attributes": { "italic": True }},
    { "insert":"\n\nNormal\n" },
]

html.render(ops)

Result (line formatting added for readability):

<p>Quill</p>
<p>Editor</p>
<p><br></p>
<p><strong>bold</strong> and the <em>italic</em></p>
<p><br></p>
<p>Normal</p>

See test_html.py for more examples.

Developing

Setup

If you'd to contribute to quill-delta-python, get started setting your development environment by running:

Checkout the repository

> git clone https://github.com/forgeworks/quill-delta-python.git

Make sure you have python 3 installed, e.g.,

> python --version

From inside your new quill-delta-python directory:

> python3 -m venv env
> source env/bin/activate
> pip install poetry
> poetry install -E html

Tests

To run tests do:

> py.test
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].