概述
PJ BLOG 是一款用laravel 和 vue.js 搭建的一个漂亮的开源博客项目。自己以前用wordpress搭建的博客觉得内容太肤浅了,一直想推倒重建,拖了一年,最近几个月在学习使用laravel,就想用laravel来搭建自己的博客,发现PJ BLOG就是用laravel 和vue.js搭建的开源博客项目。就用PJ BLOG 搭建了自己的博客。在这里感谢下PJ BLOG 作者Jiajian Chan,为我节省了很多时间。
我用PJ BLOG搭建的博客:程序猿-apeit(www.apeit.cn)
官网资料
GitHub : https://github.com/jcc/blog
文档:https://manual.pigjian.com/zh-cn/
示例(testlong/testlong):http://example.pigjian.com/
博客(testlong/testlong):https://www.pigjian.com
安装
1. composer create-project jcc/blog
2. composer install
3. npm install
4. npm run dev
5. cp .env.example .env //创建数据库,并更新数据库信息到.env文件。
7. php artisan blog:install
8. php artisan blog:admin //创建管理员账号
项目中用到的开源项目
【spatie/laravel-permission】
laravel 项目授权和验证
【vuejs】
前端框架
这两个开源项目一定要熟悉一下,不然不好下手。
注意
【超级管理员权限】
设置自己为超级管理员: config/blog.php 的super_admin 字段的值为你的user的id
【分配权限】
根据博客文档安装,运行之后。
设置自己为超级管理员: config/blog.php 的super_admin 字段的值为你的user的id
填充权限数据:php artisan db:seed --class=PermissionTableSeeder
【目录】
页面在resources/views下。vue js compoment放在resources/assets/js下。
【文章】
[url]
修改标题不会修改访问的url。
[修改]
修改文章时报错500,methodNotAllow错误。
分析:没有patch路由访问的方法。
在routes/api.php文件中,增加一行patch路由。
Route::patch(‘article/{id}’, ‘ArticleController@update’)->name(‘api.article.update’)->middleware([‘permission:update_article’]);
拓展:其他修改(类别等)也是一样增加一条路由。
【问题】
- 部署到服务器时图片上传返回成功,但是显示的时候没有?
分析:检查发现 website/storage 目录下有上传文件,但是website/public/storage 没有文件。
文件软链接没有生效。
处理:
删除website/public/storage, 重新创建软链接
命令:php artisan storage:link
返回错误:
分析:
这是因为在 php.ini 文件中,有一行代码对这些方法的使用进行了控制:字段disable_functions
处理:
去掉disable_functions字段中的:symlink值。重新运行创建软链接
命令:php artisan storage:link
成功。
到website/public/storage 看到已经链接到website/storage。