All Projects → bizley → Yii2 Quill

bizley / Yii2 Quill

Licence: apache-2.0
Yii 2 implementation of Quill, modern WYSIWYG editor

Projects that are alternatives of or similar to Yii2 Quill

Flutter Quill
Rich text editor for Flutter
Stars: ✭ 177 (+240.38%)
Mutual labels:  wysiwyg, quill, quilljs
Ngx Quill
Angular (>=2) components for the Quill Rich Text Editor
Stars: ✭ 1,382 (+2557.69%)
Mutual labels:  wysiwyg, quill, quilljs
Geshi 1.0
Original version of Generic Syntax Highlighter for PHP
Stars: ✭ 149 (+186.54%)
Mutual labels:  hacktoberfest, syntax-highlighting, highlight
Ngx Quill Example
demo app for the advanced usage of ngx-quill module
Stars: ✭ 137 (+163.46%)
Mutual labels:  wysiwyg, quill, quilljs
yii2-content-tools
ContentTools editor implementation for Yii 2
Stars: ✭ 79 (+51.92%)
Mutual labels:  widget, yii2, wysiwyg
Yii2 Authclient
Yii 2 authclient extension.
Stars: ✭ 430 (+726.92%)
Mutual labels:  hacktoberfest, yii2
Yii2 App Basic
Yii 2.0 Basic Application Template
Stars: ✭ 548 (+953.85%)
Mutual labels:  hacktoberfest, yii2
Vscode Styled Components
Syntax highlighting for styled-components
Stars: ✭ 680 (+1207.69%)
Mutual labels:  hacktoberfest, syntax-highlighting
Bat
A cat(1) clone with wings.
Stars: ✭ 30,833 (+59194.23%)
Mutual labels:  hacktoberfest, syntax-highlighting
Yii2 Httpclient
Yii 2 HTTP client
Stars: ✭ 406 (+680.77%)
Mutual labels:  hacktoberfest, yii2
Ngx Markdown
Angular markdown component/directive/pipe/service to parse static, dynamic or remote content to HTML with syntax highlight
Stars: ✭ 687 (+1221.15%)
Mutual labels:  syntax-highlighting, katex
Luya
LUYA is a scalable web framework and content management system with the goal to please developers, clients and users alike.
Stars: ✭ 741 (+1325%)
Mutual labels:  hacktoberfest, yii2
Avatarview
A circular Image View with a lot of perks. Including progress animation and highlight state with borders and gradient color.
Stars: ✭ 429 (+725%)
Mutual labels:  hacktoberfest, widget
Yii2 Redis
Yii 2 Redis extension.
Stars: ✭ 416 (+700%)
Mutual labels:  hacktoberfest, yii2
Ruby jard
Just Another Ruby Debugger. Provide a rich Terminal UI that visualizes everything your need, navigates your program with pleasure, stops at matter places only, reduces manual and mental efforts. You can now focus on real debugging.
Stars: ✭ 669 (+1186.54%)
Mutual labels:  hacktoberfest, syntax-highlighting
Franklin.jl
(yet another) static site generator. Simple, customisable, fast, maths with KaTeX, code evaluation, optional pre-rendering, in Julia.
Stars: ✭ 413 (+694.23%)
Mutual labels:  highlight, katex
Rich
Rich is a Python library for rich text and beautiful formatting in the terminal.
Stars: ✭ 31,664 (+60792.31%)
Mutual labels:  hacktoberfest, syntax-highlighting
Yii2 Fotorama Widget
Fotorama image gallery widget for yii2
Stars: ✭ 18 (-65.38%)
Mutual labels:  yii2, widget
Yii2 Fullcalendar
Widget for Yii Framework 2.0 to use FullCalendar
Stars: ✭ 5 (-90.38%)
Mutual labels:  yii2, widget
Quill
Quill is a modern WYSIWYG editor built for compatibility and extensibility.
Stars: ✭ 31,554 (+60580.77%)
Mutual labels:  wysiwyg, quill

yii2-quill

Latest Stable Version Total Downloads License

Yii 2 implementation of Quill, modern WYSIWYG editor.

Quill

You can find Quill at https://quilljs.com/

yii2-quill

Installation

Run console command

composer require bizley/quill:^3.2

Or add the package to your composer.json:

{
    "require": {
        "bizley/quill": "^3.2"
    }
}

and run composer update.

NPM Assets

This package might depend on some NPM packages. Make sure you can fetch them by configuring your composer.json properly (i.e. by using https://asset-packagist.org/ - see instructions there).

Usage

Use it as an active field extension

<?= $form->field($model, $attribute)->widget(\bizley\quill\Quill::class, []) ?>

Or as a standalone widget

<?= \bizley\quill\Quill::widget(['name' => 'editor', 'value' => '']) ?>

Basic parameters

  • theme string default 'snow'
    'snow' (Quill::THEME_SNOW) for Quill's snow theme,
    'bubble' (Quill::THEME_BUBBLE) for Quill's bubble theme,
    false or null to remove theme (you might need to provide your own toolbar in case of no theme).
    See Quill's documentation for themes.

  • toolbarOptions boolean|string|array default true
    true for theme's default toolbar,
    'FULL' (Quill::TOOLBAR_FULL) for full Quill's toolbar,
    'BASIC' (Quill::TOOLBAR_BASIC) for few basic toolbar options,
    array for toolbar configuration (see below).

Toolbar

Quill's toolbar from version 1.0 can be easily configured with custom set of buttons.
See Toolbar module documentation for details.

You can pass PHP array to 'toolbarOptions' parameter to configure this module (it will be JSON-encoded).

For example, to get:

new Quill('#editor', {
    modules: {
        toolbar: [['bold', 'italic', 'underline'], [{'color': []}]]
    }
});

add the following code in widget configuration:

[
    'toolbarOptions' => [['bold', 'italic', 'underline'], [['color' => []]]],
],

Additional information

Container and form's inputs

Quill editor is rendered in div container (this can be changed by setting 'tag' parameter) and edited content is copied to hidden input field so it can be used in forms. You can modify container's HTML attributes by setting 'options' parameter and hidden field HTML attributes by setting 'hiddenOptions' parameter.

Editor box's height

When allowResize option is set to false (default) editor's height is 150px (this can be changed by setting 'options' parameter). Setting allowResize to true resets the minimum height and allows it to be expanded freely. Editor's box extends as new text lines are added.

Quill source

By default, Quill is provided through the CDN (https://cdn.quilljs.com). You can change the Quill's version set with the current yii2-quill's release by changing 'quillVersion' parameter but some options may not work correctly in this case. Starting from version 3.0.0 you can use local assets for Quill provided through NPM packet manager - to do so run

composer require npm-asset/quill:^1.3

Or add the package to your composer.json:

{
    "require": {
        "npm-asset/quill": "^1.3"
    }
}

You also need to set ['localAssets' => true] in Quill's configuration.

Additional JavaScript code

You can use parameter 'js' to append additional JS code.
For example, to disable user input Quill's API provides this JS:

quill.enable(false);

To get the same through widget's configuration add the following code:

[
    'js' => '{quill}.enable(false);',
],

{quill} placeholder will be automatically replaced with the editor's object variable name.
For more details about Quill's API visit https://quilljs.com/docs/api/

Formula module

Quill can render math formulas using the KaTeX library.
To add this option configure widget with Formula module:

[
    'modules' => [
        'formula' => true, // Include formula module
    ],
    'toolbarOptions' => [['formula']], // Include button in toolbar
]

By default, KaTeX is provided through the CDN (https://cdn.jsdelivr.net). You can change the version of KaTeX by setting the 'katexVersion' parameter. Starting from version 3.0.0 you can use local assets for KaTeX provided through NPM packet manager - to do so run

composer require npm-asset/katex:^0.12

Or add the package to your composer.json:

{
    "require": {
        "npm-asset/katex": "^0.12"
    }
}

You also need to set ['localAssets' => true] in Quill's configuration.

Syntax Highlighter module

Quill can automatically detect and apply syntax highlighting using the highlight.js library. To add this option configure widget with Syntax Highlighter module:

[
    'modules' => [
        'syntax' => true, // Include syntax module
    ],
    'toolbarOptions' => [['code-block']] // Include button in toolbar
]

By default, highlight.js is provided through the CDN (https://cdn.jsdelivr.net). You can change the version of highlight.js by setting the 'highlightVersion' parameter. Starting from version 3.0.0 you can use local assets for highlight.js provided through NPM packet manager - to do so run

composer require npm-asset/highlight.js:^10.2

Or add the package to your composer.json:

{
    "require": {
        "npm-asset/highlight.js": "^10.2"
    }
}

You also need to set ['localAssets' => true] in Quill's configuration.

You can change the default highlight.js stylesheet (for both CDN and local version) by setting the 'highlightStyle' parameter. See the list of possible styles.

Smart Break module

You can add Smart Break (support for shift + enter) by using the quill-smart-break plugin:

[
    'modules' => [
        'smart-breaker' => true,
    ],
]

Starting from version 3.1.0 quill-smart-break is provided through NPM packet manager by local asset. For previous versions you would have to add it through custom JS (see js property).
Run

composer require npm-asset/quill-smart-break:^0.2

Or add the package to your composer.json:

{
    "require": {
        "npm-asset/quill-smart-break": "^0.2"
    }
}

You also need to set ['localAssets' => true] in Quill's configuration.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].