escuccim/larablog

Laravel的博客包

v2.0.0-beta.2 2018-08-07 15:27 UTC

README

Latest Version on Packagist Software License Build Status

这是一个简单的Laravel博客包。它支持本地化,目前有英语和法语文件,但添加新语言也很容易。请注意,此包将本地化为app配置中设置的语言。不提供按请求翻译页面的方法。如果您需要此功能,请查看escuccim/translate,我的包可以根据子域名或会话变量进行翻译。

安装

此包使用Laravel的Auth,因此您必须在安装此包之前安装该包。

通过Composer

$ composer require escuccim/blog

接下来注册组件

在config/app.php中将以下内容添加到providers数组中

Escuccim\LaraBlog\blogServiceProvider::class,
Laracasts\Flash\FlashServiceProvider::class,
Roumen\Feed\FeedServiceProvider::class,

并将以下内容添加到aliases数组中

'Feed' => Roumen\Feed\Feed::class,

此包使用一个中间件来确定用户可以访问哪些页面。默认情况下,它使用我的中间件,该中间件在Users表中使用一个标志来指示用户是否是管理员。

如果您希望使用不同的中间件,请将config/blog.php中的'middleware'键更改为您希望使用的中间件的类名或别名。

运行迁移,这将创建必要的数据库表并向用户表添加一些列。

php artisan migrate

迁移将自动将默认用户admin@example.com和密码password填充到数据库中。它还将添加一篇测试博客文章和一个名为test的标签。

迁移还向用户表添加了两个字段

  • image包含一个URI,用于显示用户留下的评论旁边的图片
  • type指定用户是否是管理员,1是管理员,0是普通用户

要加载编辑器所需的CSS和JS文件,您需要在您的layouts/app.blade.php文件中的头部部分添加以下内容

<script src="/js/app.js"></script>
@stack('scripts')

要启用编辑器的JavaScript功能,您需要从布局文件的底部移除对app.js的脚本引用,并将其放入头部。

您可以选择使用以下命令发布配置文件和视图

php artisan vendor:publish

可发布文件分为三个组

  • lang - 包含英语和法语的语言文件,并将发布到/resources/lang/vendor/larablog
  • config - 将blog.php发布到/config/blog.php
  • views - 将视图发布到/resources/views/vendor/escuccim

要仅发布这些组中的一个,请添加--tag=[lang|config|views]

关于可发布文件的说明:我的代码使用strftime来格式化日期,但您需要自己设置区域设置,使用setlocale(),并确保已安装区域设置。

配置文件允许您更改博客标题和feed中的描述,设置分页每页返回的结果数量,以及禁用缓存(如果需要)。

我的视图使用Bootstrap CSS和Laravel附带的一些JavaScript。如果您更改CSS或JS文件,某些功能可能无法正常工作。

请注意,博客的评论功能将显示Users表中引用的图片(如果存在),因此如果您想允许用户上传图片,您需要自己添加此功能。

使用方法

此包包括它自己的路由、模型、控制器和视图,因此应该可以直接使用。要使用它,只需将浏览器指向/blog。我的视图扩展了layouts/app.blade.php,并要求您在文件中添加上述指定的行。它们还使用Bootstrap CSS进行布局和Laravel附带的一些默认JS文件。

如果您想编辑我的视图,可以使用以下命令将它们发布到 resources/views/vendor/escuccim:

php artisan vendor:publish

此包还包括一个使用 Roumen\Feed 包生成订阅源的 RSS 源。它位于 /feed。

默认情况下,翻译将使用您在 config/app.php 中设置的值。如果您想根据每个请求覆盖语言,请将您想使用的语言写入 session.locale,该值将替换每个请求的配置值。请注意,对于时间本地化,您还需要设置 setlocale()。我的代码目前只针对法语这样做,因为这取决于您是否在服务器上安装了适当的区域设置。

此包使用它添加到用户表中的 'type' 字段来确定用户是否有权限添加、编辑和删除博客文章。如果您想使用自己的权限系统,可以在 config 文件 blog.php 中替换 'is_user_admin' 的值。此函数应在用户有权限执行管理任务时返回 true,否则返回 false。

在配置文件中有一个名为 use_rich_card 的值。如果将其设置为 true,则会在文章页面上添加一个丰富的卡片,并在添加和编辑文章表单中添加一个字段,允许您指定用于丰富卡片的 URI。

贡献

有关详细信息,请参阅 CONTRIBUTINGCONDUCT

安全

如果您发现任何与安全相关的问题,请通过电子邮件 skooch@gmail.com 而不是使用问题跟踪器。

致谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件