escuccim / larablog
Laravel的博客包
Requires
- php: ~5.6|~7.0
- guzzlehttp/guzzle: ^6.2
- illuminate/support: ~5.1
- laracasts/flash: ^2.0
- roumen/feed: ^2.10
Requires (Dev)
- phpunit/phpunit: ~4.0||~5.0
- squizlabs/php_codesniffer: ^2.3
This package is not auto-updated.
Last update: 2024-09-23 05:51:08 UTC
README
这是一个简单的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。
贡献
有关详细信息,请参阅 CONTRIBUTING 和 CONDUCT。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 skooch@gmail.com 而不是使用问题跟踪器。
致谢
- [Eric Scuccimarra][http://ericscuccimarra.com]
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。