usamamuneerchaudhary / commentify
使用 TailwindCSS UI 的简单 Laravel Livewire 评论系统
Requires
- php: ^8.1
- illuminate/database: *
- illuminate/support: *
- livewire/livewire: ^3.0
Requires (Dev)
- orchestra/testbench: ^v8.0.4
- phpunit/phpunit: ^10.0
README
介绍
Commentify 是一个强大的 Laravel Livewire 包,旨在为 Laravel 应用中的任何模型提供易于集成的评论系统。由 Livewire 驱动,此包提供了一个由 Tailwind UI 驱动的无缝评论体验,使用户能够轻松地与您的内客互动。凭借评论分页和 YouTube 风格的点赞/取消点赞按钮等特性,此包非常适合需要强大评论功能的程序。此外,访客用户可以根据其 IP 地址点赞和取消点赞评论。可以使用 "@" 标记在回复和编辑中提及特定用户,而 Markdown 支持允许在评论中进行丰富的格式化。无论您是构建博客、电子商务平台还是任何其他类型的 Web 应用程序,Commentify 都是增强用户参与和协作的强大工具。
一些主要功能
- 易于集成
- 支持 Laravel 10+
- 支持 Livewire 3
- 由 Livewire 驱动的评论系统
- 尾wind UI
- 将评论添加到任何模型
- 嵌套评论
- 评论分页
- YouTube 风格的点赞/取消点赞功能
- 访客点赞/取消点赞评论(基于
IP
&UserAgent
) - 在回复/编辑中使用 @ 提及用户
- Markdown 支持
先决条件
安装指南
您可以通过 composer 安装此包
composer require usamamuneerchaudhary/commentify
注册服务提供商
在 config/app.php
中添加服务提供商
Usamamuneerchaudhary\Commentify\Providers\CommentifyServiceProvider::class,
运行迁移
安装完包后,您可以运行迁移,php artisan migrate
发布配置文件
php artisan vendor:publish --tag="commentify-config"
这将发布配置目录中的 commentify.php
文件。在这里,您可以配置用户路由和分页数等。
发布 tailwind.config.js
文件
此包利用 TailwindCSS 并使用一些自定义配置。您可以通过运行以下命令发布包的 tailwind.config.js
文件
php artisan vendor:publish --tag="commentify-tailwind-config"
使用方法
在您想集成评论的模型中,简单地将 Commentable
特性添加到该模型中。例如
use Usamamuneerchaudhary\Commentify\Traits\Commentable; class Article extends Model { use Commentable; }
接下来,在您的视图中,传递 livewire 评论组件。例如,如果您的视图文件是 articles/show.blade. php
。我们可以添加以下代码
<livewire:comments :model="$article"/>
此外,将 HasUserAvatar
特性添加到 App\Models\User
中,以使用头像
use Usamamuneerchaudhary\Commentify\Traits\HasUserAvatar; class User extends Model { use HasUserAvatar; }
测试
composer test
安全
如果您发现任何安全相关的问题,请通过电子邮件 hello@usamamuneer.me 而不是使用问题跟踪器。
致谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件