【WYSIWYG】Quillエディターを調査

Quill

この記事はWYSIWYG実装のために、Quillの内容を翻訳しながら読み進めたものになります。

目次

参考ドキュメント

シンプルに公式ドキュメントを利用していきます

ダウンロード

Quillは、いくつかの便利な形ですぐに使用できます。

CDN

Renderの支援を受けて、グローバルに配布され利用可能なCDNが提供されます。

<!-- Main Quill library -->
<script src="//cdn.quilljs.com/1.3.6/quill.js"></script>
<script src="//cdn.quilljs.com/1.3.6/quill.min.js"></script>

<!-- Theme included stylesheets -->
<link href="//cdn.quilljs.com/1.3.6/quill.snow.css" rel="stylesheet">
<link href="//cdn.quilljs.com/1.3.6/quill.bubble.css" rel="stylesheet">

<!-- Core build with no theme, formatting, non-essential modules -->
<link href="//cdn.quilljs.com/1.3.6/quill.core.css" rel="stylesheet">
<script src="//cdn.quilljs.com/1.3.6/quill.core.js"></script>

NPM

QuillをNPM依存関係として追加し、独自のビルドワークフローを追加するか、付属のビルドオプションを使用します。コンパイルされたスタイルシートもdist/フォルダに含まれています。

npm install quill@1.3.6

直接ダウンロード

クイルビルドは、すべてのリリースで直接ダウンロードすることもできます。

ソース

そしてもちろん、完全なソースコードはGithubでいつでも入手できます。

git clone git@github.com:quilljs/quill.git

構成

Quillを使用すると、ニーズに合わせてカスタマイズすることができます。このセクションでは、既存の機能を微調整することに専念します。新しい機能の追加については「モジュール」セクションを、スタイル設定については「テーマ」セクションを参照してください。

Container

Quillには、エディターが追加されるコンテナーが必要です。CSSセレクターまたはDOMオブジェクトのいずれかを渡すことができます。

var editor = new Quill('.editor');
var container = document.getElementById('editor');
var editor = new Quill(container);
var container = $('.editor').get(0);
var editor = new Quill(container);

Options

Quillを構成するには、オプションオブジェクトを渡します。

var options = {
  debug: 'info', // デバッグ
  modules: {     // モジュール
    toolbar: '#toolbar'
  },
  placeholder: 'Compose an epic...', // プレースホルダー
  readOnly: true,
  theme: 'snow'
};
var editor = new Quill('#editor', options);

次のキーが認識されます。


bounds:境界

デフォルト:document.body

DOM要素またはDOM要素のCSSセレクター。この中には、エディターのui要素(ツールチップなど)を制限する必要があります。現在、左右の境界のみを考慮しています。

debug:デバッグ

デフォルト:warn

デバッグのショートカット。Notedebugは静的メソッドであり、ページ上のQuillエディターの他のインスタンスに影響します。デフォルトでは、警告メッセージとエラーメッセージのみが有効になっています。

formats:フォーマット

デフォルト:すべてのフォーマット

エディターで許可する形式のホワイトリスト。完全なリストについては、フォーマットを参照してください。

modules:モジュール

含めるモジュールのコレクションとそれぞれのオプション。詳細については、モジュールを参照してください。

placeholder:プレースホルダー

デフォルト:なし

エディターが空の場合に表示するプレースホルダーテキスト。

readOnly:読み取り専用

デフォルト:false

エディターを読み取り専用モードにインスタンス化するかどうか。

scrollingContainer

デフォルト:null

カスタムCSSoverflow-y: autoでデフォルトから変更されている場合は、DOM要素またはDOM要素のCSSセレクター。スクロールバー(つまり)を持つコンテナーを指定します。ql-editorQuillがその高さを自動的に拡大するように設定されている場合、スクロールジャンプのバグを修正する必要があり、別の祖先コンテナがスクロールを担当します。

theme:テーマ

使用するテーマの名前。組み込みのオプションは「バブル」または「スノー」です。無効または偽の値は、デフォルトの最小テーマをロードします。テーマの特定のスタイルシートを手動で含める必要があることに注意してください。詳細については、テーマを参照してください。

テーマを使用すると、最小限の労力でエディターの見栄えを簡単に整えることができます。クイルは、公式にサポートされている2つのテーマ、 SnowBubbleを備えています。

<!-- Add the theme's stylesheet -->
<link rel="stylesheet" href="//cdn.quilljs.com/1.3.6/quill.bubble.css">

<script src="//cdn.quilljs.com/1.3.6/quill.js"></script>
<script>
var quill = new Quill('#editor', {
  theme: 'bubble'   // Specify theme in configuration
});
</script>

カスタマイズ

テーマは主にCSSスタイルシートを介してQuillの視覚的な外観を制御し、これらのルールをオーバーライドすることで多くの変更を簡単に行うことができます。これは、他のWebアプリケーションと同様に、ブラウザー開発者コンソールを使用して要素を検査し、それらに影響を与えるルールを表示するだけで、最も簡単に実行できます。

他の多くのカスタマイズは、それぞれのモジュールを介して行うことができます。たとえば、ツールバーはおそらく最も目に見えるユーザーインターフェイスですが、カスタマイズの多くはツールバーモジュールを介して行われます。

実際に試してみた記事

ぎゅう
WEBエンジニア
渋谷でWEBエンジニアとして働く。
LaravelとVue.jsをよく取り扱い、誰でも仕様が伝わるコードを書くことを得意とする。
先輩だろうがプルリクにコメントをして、リファクタしまくる仕様伝わるコード書くマン
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次
閉じる