dcoding/blogetc

简单博客包(带有管理面板)用于Laravel。包含所有视图、控制器、路由,可以添加到任何现有的Laravel应用中。完全可定制的博客(视图、URL和许多其他选项)。包括图片上传和美观的管理界面来管理您的博客。默认为/blog,但您

维护者

详细信息

github.com/dcoding1/BlogEtc

来源

文档

安装 4,024

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 69

v3.1.26 2021-09-15 14:52 UTC

README

包正在重写(应在2019年圣诞节前完成)。即将进行适当的测试,遗憾的是,自从我第一次添加这个包以来,工作占用了我的很多时间,我没有时间回头维护它。重写(仅在master分支上)有更好的编码标准,预计很快将添加单元/集成测试。Packagist上的当前版本在另一个分支上。我以为重写会更快!

一些较旧的功能将被删除。下一个版本将是破坏性的变化,但代码将更容易维护。该包最初(在版本1中)并不真正期望得到任何公共使用。新版本将更容易处理更多用例。

WebDevEtc BlogEtc

## 用于在您的Laravel应用中添加完整博客(带有管理后端)的简单安装Laravel包

5分钟安装!快速且简单!

StyleCI Build Status

介绍

这是WebDevEtc的 BlogEtc包。它包含您快速轻松地将博客添加到Laravel应用所需的一切。

有关完整的安装指南,请访问此处Laravel Blog Etc安装指南

功能

  • 包括所有视图、路由、模型、控制器、事件等
    • 面向公众的页面
      • 查看所有帖子(分页)
      • 查看分类中的所有帖子(分页)
      • 查看单个帖子
      • 添加评论视图/确认视图
      • 搜索(全文搜索)、搜索表单、搜索结果页面。
    • 管理页面
      • 帖子 (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()以仅允许可信赖的用户。

重要注意事项

  1. 任何可以管理博客文章的人(通过您添加到用户模型中的canManageBlogEtcPosts()方法定义)都可以提交任何要输出的HTML。这是一个安全问题。如果您不信任内容,请在输出之前添加自定义视图并转义博客内容,并将配置中的use_custom_view_files设置为false。

  2. 如果配置中启用了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的代码库大部分已经更改,以支持下一个版本。我强烈建议您在本地进行测试。

以下是需要了解的信息

  1. 现在图片上传由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
  2. 许多内部文件已被更改。大多数文件遵循正确的编码风格。这不应影响您。
  3. 搜索功能已被移除(将在未来添加)。