このプロジェクトについて

Slateは、Medium、Dropbox Paper、Google Docsなどのエディタの代替として位置付けられる、ウェブ上でリッチテキストエディタを構築するためのフレームワークです。contenteditableの上にプラグイン可能なレイヤーとして実装され、React上に構築されており、Draft.js、ProseMirror、Quillから着想を得ています。 READMEに記載されている主要な原則: - ファーストクラスのプラグイン:プラグインが中心となるため、ライブラリの前提と戦うことなく編集体験をカスタマイズできます。 - スキーマレスなコア:コアはドキュメントスキーマについてほとんど前提を置かず、コメント、埋め込み、テーブルなどのドメイン固有のニーズに対応する余地を残しています。 - ネストされたドキュメントモデル:ドキュメントはDOMのような再帰的なツリーであり、テーブルやネストされたブロック引用などの複雑なコンポーネントを可能にしながら、シンプルなフラット構造もサポートします。 - DOMとの並行性:データモデルはネストされたツリー、選択範囲、レンジを使用し、標準的なイベントハンドラを公開します。 - 直感的なコマンド:ドキュメントは、読みやすく表現力豊かであることを意図した高レベルのコマンドを通じて編集されます。 - コラボレーション対応のデータモデル:操作は、後からコラボレーティブ編集を重ねられるように設計されています。 - 明確なコア境界:プラグインファーストのアーキテクチャとスキーマレスなコアが、コアの動作とカスタム動作を分離します。 このプロジェクトはLernaで管理されるモノレポで、slate(コアデータモデルロジック)、slate-history(undo/redo履歴プラグイン)、slate-hyperscript(JSX Slateドキュメントを記述するためのhyperscriptツール)、slate-react(エディタをレンダリングするためのReactコンポーネント)という複数のパッケージが含まれています。 READMEでは、Slateは現在ベータ版であると述べられています。コアAPIは使用可能ですが、高度なユースケースではプルリクエストが必要になる場合があり、一部のAPIは確定しておらず変更される可能性があり、1.0のリリース予定はありません。また、大企業に支えられているのではなくコントリビューター主導であるため、改善や修正は自発的な貢献に依存しています。 ドキュメントには、ウォークスルー、コンセプト、FAQ、リソースに加えて、中国語へのコミュニティ翻訳が含まれています。ライブデモと一連の例がリンクされており、プレーンテキスト、リッチテキスト、Markdownプレビュー、インライン、画像、ホバリングツールバー、テーブル、貼り付けられたHTML、メンションをカバーしています。このプロジェクトはMITライセンスです。