dcoding / blogetc
简单博客包(带有管理面板)用于Laravel。包含所有视图、控制器、路由,可以添加到任何现有的Laravel应用中。完全可定制的博客(视图、URL和许多其他选项)。包括图片上传和美观的管理界面来管理您的博客。默认为/blog,但您
Requires
- cviebrock/eloquent-sluggable: 4.5.*|4.6.*|4.8.*|6.*
- illuminate/database: ~5.5.0|~5.6.0|~5.7.0|~5.8.0|6.*
- illuminate/support: ~5.5.0|~5.6.0|~5.7.0|~5.8.0|6.*
- intervention/image: 2.*
- laravelium/feed: ~8.0|~7.0|~6.0|~3.1
- swisnl/laravel-fulltext: 0.21
Requires (Dev)
- phpunit/phpunit: ^7.0
- dev-master
- v3.1.26
- v3.1.25
- v3.1.24
- v3.1.23
- v3.1.22
- v3.1.21
- v3.1.20
- v3.1.19
- v3.1.18
- v3.1.17
- v3.1.16
- v3.1.15
- v3.1.14
- v3.1.13
- v3.1.12
- v3.1.11
- v3.1.10
- v3.1.9
- v3.1.8
- v3.1.7
- v3.1.6
- v3.1.5
- v3.1.4
- v3.1.2
- v3.1
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0
- v2.1.2
- v2.1.1
- v2.1
- v2.0
- v1.5.2
- v1.5.1
- v1.5
- v1.2
- v1.1.2
- v1.0.5
- dev-views
- dev-analysis-ADDnJV
- dev-analysis-EAAKJ9
- dev-analysis-qgADrd
- dev-analysis-XN3J0r
- dev-analysis-zR5vAD
- dev-analysis-X0Ggge
- dev-blogetc-legacy
This package is auto-updated.
Last update: 2024-09-15 21:17:41 UTC
README
包正在重写(应在2019年圣诞节前完成)。即将进行适当的测试,遗憾的是,自从我第一次添加这个包以来,工作占用了我的很多时间,我没有时间回头维护它。重写(仅在master分支上)有更好的编码标准,预计很快将添加单元/集成测试。Packagist上的当前版本在另一个分支上。我以为重写会更快!
一些较旧的功能将被删除。下一个版本将是破坏性的变化,但代码将更容易维护。该包最初(在版本1中)并不真正期望得到任何公共使用。新版本将更容易处理更多用例。
WebDevEtc BlogEtc
## 用于在您的Laravel应用中添加完整博客(带有管理后端)的简单安装Laravel包
5分钟安装!快速且简单!
介绍
这是WebDevEtc的 BlogEtc包。它包含您快速轻松地将博客添加到Laravel应用所需的一切。
有关完整的安装指南,请访问此处Laravel Blog Etc安装指南
功能
- 包括所有视图、路由、模型、控制器、事件等
- 面向公众的页面
- 查看所有帖子(分页)
- 查看分类中的所有帖子(分页)
- 查看单个帖子
- 添加评论视图/确认视图
- 搜索(全文搜索)、搜索表单、搜索结果页面。
- 管理页面
- 帖子 (CRUD博客帖子,上传特色图片(自动调整大小)
- 查看所有帖子
- 创建新帖子
- 编辑帖子
- 删除帖子
- 分类 (CRUD帖子分类)
- 查看所有分类
- 创建新分类
- 编辑帖子
- 删除帖子
- 评论 (包括评论批准)
- 查看所有评论
- 批准/管理评论
- 删除评论
- 上传图片
- 以及为每个博客帖子上传特色图片(可以定义实际尺寸),您可以单独上传图片。
- 查看所有上传的图片(多个尺寸)
- 帖子 (CRUD博客帖子,上传特色图片(自动调整大小)
- 面向公众的页面
- 包括管理面板
- 创建/编辑帖子
- 创建/编辑帖子分类
- 管理(批准/删除)提交的评论
- 允许每个博客帖子上传特色图片(可以定义实际尺寸) - 大、中、缩略图尺寸
- 通过其
config/blogetc.php
配置文件进行完全配置。 - 包括所有必需的视图文件,无需额外设置即可直接使用。所有视图文件(Blade文件)使用Bootstrap 4,并且非常干净的HTML(易于理解)。您可以通过将文件放在您的
/resources/views/vendor/blogetc/
目录中轻松覆盖任何视图文件 - 内置评论(使用数据库),可以自动批准或需要管理员批准(评论管理)
- 其他选项包括使用Disqus评论或禁用评论。
- 包括单元测试。
- 为任何数据库更改触发事件,因此您可以轻松添加事件监听器,以便添加额外的逻辑。
- 5分钟内完成安装,您的博客即可上线并运行,您可以前往管理面板撰写博客文章 - 下面是详细步骤,但以下是所需步骤的总结
- 使用Composer安装
- 进行数据库迁移,复制配置文件(使用
php artisan vendor:publish
完成) - 更改/拥有
public/blog_images/
目录的权限,以便为每个博客文章上传特色图片 - 然后向您的
\App\User
文件中添加1个方法(canManageBlogEtcPosts()
) - 但请参阅安装说明,以获取所有配置信息
此包是针对谁/什么的
- 适用于运行Laravel (5.6)的网站
- 想要拥有一个网站博客,并有一个易于使用的界面来撰写博客文章/分配类别/管理现有文章
- 只有管理员用户可以编辑/管理博客(这不是为您的网站上每个用户都能管理文章而设计的)
- 您理解文章可能(潜在地)包含JS或其他代码,因此您应该只允许可信赖的管理员用户添加/编辑/删除/管理博客文章
此包不是针对什么的
- 您希望您的(普通、非管理员)用户撰写博客文章的网站。您必须在您的用户模型上设置
canManageBlogEtcPosts()
以仅允许可信赖的用户。
重要注意事项
-
任何可以管理博客文章的人(通过您添加到用户模型中的
canManageBlogEtcPosts()
方法定义)都可以提交任何要输出的HTML。这是一个安全问题。如果您不信任内容,请在输出之前添加自定义视图并转义博客内容,并将配置中的use_custom_view_files
设置为false。 -
如果配置中启用了
use_custom_view_files
(默认情况下是启用的),这意味着任何设置了自定义视图文件的帖子(详情请参阅文档)都可以包含/resources/views/custom_blog_posts
中的任何文件,Blade将执行这些文件。但是,此包没有提供编辑该目录中任何文件的方法。
如何将BlogEtc安装到您的Laravel应用程序中
请参阅我们的BlogEtc Laravel Blog Package文档/安装指南以获取安装说明。(非常简单 - 通过composer/artisan命令完成,并在您的\App\User模型中添加一个方法(canManageBlogEtcPosts()
,如果此用户可以管理博客,则应返回true
)。
如何自定义博客视图/模板
这很简单,更详细的说明可以在我们的BlogEtc Laravel Blog Package文档中找到。
在执行正确的vendor:publish
之后,所有默认模板文件都将位于/resources/views/vendor/blogetc/,并且很容易根据您的需求进行编辑。
路由
它将自动设置所有必需的路由(包括公开面对的路由和后台管理)。有一些配置选项(例如,将/blog/ URL更改为其他内容),可以在blogetc.php文件中完成。
配置选项
有关详细信息,请参阅BlogEtc配置选项文档。
所有配置选项都有注释,说明它们的作用。请仅参考您/config/目录中的blogetc.php
文件。
事件
您可以在/src/Events目录中找到所有触发的事件。
将这些(以及事件监听器)添加到您的EventServiceProvider.php文件中,以便在事件触发时使用这些事件。
内置CAPTCHA/反垃圾邮件
内置了验证码(反垃圾评论)系统,您可以使用自己的实现轻松替换。
请参阅我们的验证码文档以获取更多详细信息。
遇到问题,有什么东西不起作用吗?
图片上传错误?
尝试将以下内容添加到 config/app.php
'Image' => Intervention\Image\Facades\Image::class
- 同时确保 /tmp 可写。如果您启用了 open_basedir,请务必将其值添加为 :/tmp。
- 确保 /public/blog_images(或您在配置中设置的任何目录)可由服务器写入。
- 您可能需要设置更高的内存限制,或上传更小的图片文件。这取决于您的服务器。我已经用它上传了巨大的(10mb+)jpg图片,一旦服务器正确设置来处理更大的文件上传,就不会有问题。
- BlogEtc的新版本使用Laravel文件系统来存储图片。您可能需要运行
php artisan storage:link
以在本地使用图片。如果您使用的是S3之类的服务,则可能需要更改blade中的URL。
版本历史
- 4.x - 目前正在开发中。将于2019年底发布。适用于Laravel 6及以后版本。
- 3.1 - 一些小修复
- 3.0.3 - 修复了RSS订阅缓存问题
- 3.0.2 - 修复了默认中等图片尺寸(改为600x400)
- 3.0.1 - 将所有短标签(<?)替换为完整的打开标签(<?php)
- 3.0 - 添加了上传图片的独立功能(并在数据库中保存一些元数据)
- 2.1 - 添加了'description'到数据库+表单,BlogEtcPost::generate_introduction()方法将尝试使用此生成简介文本。
- 2.0 - 添加了全文搜索(通过配置文件启用 - 默认禁用)。(将在未来的版本中删除,将通过不同的包再次添加)
- 1.2 - 添加了所见即所得(WYSIWYG),一些较小的更改
- 1.1.1 - 添加了基本的验证码
- 1.0.5 - composer.json更改。
- 1.0 - 首次发布
- 0.3 - 一些小更改,packagist设置。
- 0.1 - 初次发布
问题、支持、错误报告、安全问题
请通过WebDev Etc的联系方式或twitter联系我,我将尽快回复您。
升级到v6
BlogEtc的代码库大部分已经更改,以支持下一个版本。我强烈建议您在本地进行测试。
以下是需要了解的信息
- 现在图片上传由Laravel文件系统磁盘处理。您可以使用它上传到S3等服务。默认情况下,它将使用'public'磁盘,您需要运行
php artisan storage:link
来创建符号链接。现有图片需要移动到 /storage/app/public/blog_images,并且URL需要更新(到 http://yoursite.com/storage/blog_images/*.jpg)。您还可以创建一个符号链接,将 /storage/app/public/blog_images 链接到 http://yoursite/blog_images。 - 许多内部文件已被更改。大多数文件遵循正确的编码风格。这不应影响您。
- 搜索功能已被移除(将在未来添加)。