1.0への道

Quill は、次のような野心的な目標を掲げて立ち上げられました。Web 用のリッチ テキスト エディター。ドロップイン ユースケースで使いやすく、複雑なユースケースでも十分強力です。その現在APIそれらの目標の中核となるものです。

過去数か月間、特にエディターのコンテンツなど、カスタマイズのためのさらに優れた手段を提供することに多大な努力が払われてきました。これが完成に近づき、Quill は 1.0 の成熟期を迎えています。

羊皮紙

Parchment の完全な紹介とガイドはまだ公開される予定ですが、一言で言えば、これは Quill の新しい文書モデルです。エディターのドキュメント モデルは、DOM に対する重要な抽象化であり、エディターと API ユーザーが、ブラウザーと直接対話するよりもはるかにシンプルで表現力豊かなインターフェイスを通じてコン​​テンツについて推論できるようになります。 Quill にとって、これによりフォーマットのカスタマイズという長年の問題に対する洗練されたソリューションが可能になります。

もっと

Parchment が登場する前は、Quill は正確な検索と操作 API を提供するために、エディター コンテナーと子孫 DOM ノードをほぼ完全に制御する必要がありました。デフォルトのリンクを開く動作の変更などの単純な変更ですらハックが必要で、構文強調表示されたコードなどの新しいコンテンツ タイプを定義することは不可能でした。

Parchment はサブツリー全体の制御をユーザーに渡し、新しいノードの定義や既存のノードの上書きを可能にします。要件としては、次のような特定のメソッドが必要です。getValuegetFormat羊皮紙文書内で問題なく存在できるように定義する必要があります。詳しい人は、これが非常に似ていることに気づくでしょう。renderとコンポーネント反応する、Parchment のデザインに大きな影響を与えた人物です。

Parchment インターフェイスはまだ安定化されている段階ですが、カテックス方程式は次のようになります (ES6 構文を使用):

class Equation extends Parchment.Embed {
  constructor(value) {
    super(value);
    this.value = value;
    this.domNode.setAttribute('contenteditable', false);
    katex.render(value, this.domNode);
  }

  getValue() {
    return this.value;
  }
}

Quill.registerFormat(Equation);

現在の優先事項は、Parchment を新しい文書モデルとして Quill に統合することです。ただし、Parchment は独自の組織として組織されており、今後も存続します。リポジトリ汎用ツールとして設計されているためです。願わくば、いつかこれが他の編集者のドキュメント モデルとしても機能することを願っています。

フォーマット

Parchment は、さらに多くの形式をスケーラブルにサポートするための扉を開き、その多くは 1.0 リリースに含まれる予定です。完全なリストはまだ発表できる段階ではありませんが、少なくともセマンティック ヘッダーとネストされたリストが含まれる予定です。方程式と構文が強調表示されたコードも、外部ライブラリに依存する可能性があるため、別のリポジトリとして追加されます。

モジュール

Quill は、ソース コードのほとんどをモジュールとして編成し、デフォルトの動作を簡単に上書きできるようにします。残念ながら、これらのモジュールには現在ドキュメントのギャップが存在します。拡張性を実現するには、このギャップを埋める必要があります。

一部の必須ではないモジュールも独自のリポジトリに移動されます。カスタム ビルドでは、これらのモジュールと他の順列を簡単に含めたり除外したりできるように計画されていますが、タイミングによっては 1.0 以降になる可能性があります。

1.0を超えて

Quill 1.0 では主要な基盤が完成し、国際化、アクセシビリティ、アプリケーション間の相互作用 (コピー/ペースト) を主な焦点として、サンプルの構築とサポートの強化に重点が置かれることになります。

さらに、Quill の UI はアップグレードされる予定です。 Quill の美しさはすでに完全にカスタマイズ可能ですが、ドロップイン ソリューションが必要な場合は、さらに多くのデフォルトを利用できる可能性があります。ここでは、現在進行中のいくつかのテーマの概要を紹介します。

Quill Theme 1 Quill Theme 2

最後に、コミュニティは皆様の貢献とサポートに多大な感謝を表します。全てのバグレポート、機能の提案とプルリクエストQuill を今日の姿にします。これからも来てください! Web 編集と Quill にとって、エキサイティングな時代が到来しています。