Awesome text editing
text editingを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
contenteditable を使うリッチテキストエディター
- Slate - React と Immutable を基盤に構築されたリッチテキストエディター
- TipTap - Vue.js 向けリッチテキストエディター
- Trix - Basecamp のリッチテキストエディター
- CKEditor - 2003 年に開始。iframe とインライン形式のリッチテキスト編集に対応
- Squire - HTML5 リッチテキストエディター
- ProseMirror - CodeMirror の作者によるエディター
- Scribe - Guardian チームによるエディター
- Quill - 現代のウェブ向けに構築された無料・オープンソースの WYSIWYG エディター
- Summernote - Bootstrap に依存するリッチテキストエディター
- wysihtml - Voog が開発
- Etherpad - 真のリアルタイム共同編集を提供するオープンソースのオンラインエディター
- TinyMCE - WordPress と Drupal のコミュニティで広く利用
- Medium.js - 注意:Medium では実際には使用されていません
- Textbox.IO - TinyMCE の開発元によるエディター
- Froala - モバイル対応、豊富な例、高い性能、インライン編集を備えた使いやすいリッチテキストエディター
- Redactor - 高度で整然かつ滑らかに動作し、優れた没入型ユーザー体験を提供するリッチテキストエディター
- Ritzy - ウェブベースの共同リッチテキストエディター
- Aloha Editor - HTML5 対応のオープンソース・ブラウザベースのリッチテキストエディター
- WYMeditor - セマンティックなマークアップを重視するオープンソース XHTML エディター
- Dijit Editor - Dojo ベースのリッチテキストエディターコンポーネント
- YUI Rich Text Editor - Yahoo! のリッチテキストエディターコンポーネント
- KindEditor - オープンソース HTML エディター
- Hallo - jQuery UI 向けのシンプルなリッチテキストエディター(contentEditable)
- markitup - 汎用マークアップ jQuery エディター
- openwysiwyg - 無料のクロスブラウザー WYSIWYG エディター
- tejQuery - 軽量(19.5 KB)で便利な HTML エディター
- Trumbowyg - 軽量で翻訳・カスタマイズ可能な jQuery プラグイン
- NicEdit - 2012 年に開発終了
- jWYSIWYG - WYSIWYG jQuery プラグイン
- Alloy - CKEDITOR 上に構築された現代的な WYSIWYG エディター
- Draft.js - React 向けリッチテキストエディターフレームワーク
- MediumEditor - medium.com のインラインエディターツールバーのクローン。contenteditable API でリッチテキスト編集を実現します。
コードエディター
- Yace - プラグイン対応のブラウザー向け 1 KB コードエディター
- CodeJar - ブラウザー向けの小型コードエディター
- CodeMirror - ブラウザー向けに JavaScript で実装された多用途テキストエディター
- Ace - JavaScript で書かれた埋め込み可能なコードエディター
- EditArea
- Behave.js - 通常のテキストエリアに IDE のような動作を追加する軽量ライブラリ
Markdown エディター
- markdown-js - JavaScript 向け Markdown パーサー
- pagedown - Stack Overflow とその他の Stack Exchange ネットワークで使用される JavaScript Markdown プレビュー
contenteditable リッチテキストエディターの評価基準
エディターに求められる要件:
- 安定している
- オープンソースである
- ソフト改行を処理できる
- ブロックレベル要素のスタイルを操作できる
- インラインレベル要素のスタイルを操作できる
- ブロックレベル要素のクラスを操作できる
- インラインレベル要素のクラスを操作できる
- ブロックレベル要素のカスタム属性を変更できる
- インラインレベル要素のカスタム属性を変更できる
- 選択範囲をキャッシュする
- iframe とインラインの両方のモードに対応する
- ノードのタグ種別を変更できる
- 書式を消去できる
- 簡潔な API を備える
- さまざまなモジュールローダーに対応する
- AMD と Common.js
- サービスを支える組織があり、有償サポートプランを提供できる可能性がある
- Microsoft Word からコピー&ペーストできる
