Laravel Trix 编辑器
发布时间 作者 Eric L. Barnes
Trix 是来自 Basecamp 创建者的一种开源 WYSIWYG 编辑器,旨在成为一种不同的编辑器。以下是他们的 描述
大多数 WYSIWYG 编辑器都是围绕 HTML 的 contenteditable 和 execCommand API 的包装器,这些 API 由微软设计,用于支持在 Internet Explorer 5.5 中对网页进行实时编辑,并最终被其他浏览器逆向工程和复制。
由于这些 API 从未完全指定或记录,并且由于 WYSIWYG HTML 编辑器范围很大,因此每个浏览器的实现都有其自己的错误和怪癖,而 JavaScript 开发人员只能解决这些不一致性。
Trix 通过将 contenteditable 视为 I/O 设备来规避这些不一致性:当输入进入编辑器时,Trix 会将该输入转换为对其内部文档模型的编辑操作,然后将该文档重新渲染回编辑器。这使 Trix 能够完全控制每次按键后发生的事情,并避免使用 execCommand。
由于 Trix 是 CSS 和 JavaScript,因此您已经可以将其与 Laravel 集成,但是 laravel-trix 是一个可以让设置变得轻而易举的软件包。
首先,安装 Composer 包
composer require te7a-houdini/laravel-trix
发布资产
php artisan vendor:publish --provider="Te7aHoudini\LaravelTrix\LaravelTrixServiceProvider"
然后,运行迁移
php artisan migrate
安装完软件包后,假设您有一个 articles 模型,并且您希望在它的创建和更新表单上使用 Trix 编辑器。您只需使用 Blade 及其包含的指令即可。
<html> <head> @trixassets </head> <body> <form method="POST" action="route('article.store')"> @csrf @trix(\App\Article::class, 'content') <input type="submit"> </form> </body></html>
该软件包包含更多功能,例如处理上传的文件、为现有模型渲染以及高级配置。您可以在 Github 页面 上了解有关此软件包的更多信息,并阅读完整的用户指南。
***
此软件包已提交到我们的 Laravel 新闻链接 部分。链接是一个社区可以发布 Laravel 生态系统中软件包和教程的地方。在 Twitter 上关注 @LaravelLinks