项目作者: lohfu

项目描述 :
An HTML5 editor using contentEditable.
高级语言: JavaScript
项目地址: git://github.com/lohfu/spytext.git
创建时间: 2014-05-23T10:16:37Z
项目社区:https://github.com/lohfu/spytext

开源协议:MIT License

下载


Spytext - The Tiny HTML5 Editor

Spytext is an HTML5 editor, not a Rich Text Editor, weighing in at 8.6 kb.

Spytext is built contentEditable, but most browsers handle handling line
breaks, new sections, backspaces, deletes, formatting etc very differently. As
a result, Spytext uses it’s own DOM manipulating commands (through
dollr), selection management (through
selektr) and DOM undo/redo (through
snapback). The only parts contentEditable
still handles are actual type inputs and text traversal (arrow buttons, page
up, etc).

Despite all this, the entire library (including ALL dependencies)
is tiny.

Demo

There is a Plunker demo at: https://embed.plnkr.co/sJNI4kVqX7VEgA0mY2UJ

Usage

NPM

  1. $ npm install spytext
  1. import Spytext from 'spytext'
  2. const spytext = new Spytext({ el: document.getElementById('#spytext-field') })
  3. spytext.deactivate()
  4. spytext.activate()

CDN (UMD build)

  1. <div id='spytext-field'></div>
  2. <script src='https://unpkg.com/spytext@0.9.1/dist/spytext.min.js'></script>
  3. <script>
  4. document.addEventListener('DOMContentLoaded', () => {
  5. const spytext = new Spytext({ el: document.getElementById('#spytext-field') })
  6. }, false)
  7. </script>

Functionality

  • Styling text with italic, bold, underline or strike-trough
  • Change between P, H1, H2, H3, H4, H5 and H6 blocks for text
  • Align/justify text blocks
  • Create ordered and unordered lists
  • Indent/outdent these lists and
  • Selection management
  • Undo/redo (including remembering selections positions)

Spytext is Tiny

Minified Compressed
Spytext (UMD build, all deps) 29 kb 8.6 kb

Compatibility

Quirky Without Undo Full
Chrome 9 16 18
IE N/A 9 N/A
Firefox 1 3.6 14
Safari Unknown Unknown 6
Opera Unknown Unknown 15