Laravel Wink: 一个简洁的内容发布平台

昨天看到站长提交的翻译项目,对这个 Wink 特别喜欢,我自己目前的博客是使用 hexo 搭建的,但 Wink 我感觉也很不错,这里翻译了一下它的 readme 文件。后续将持续翻译中,仓库地址:https://github.com/leienshu/wink

介绍

Wink 的唯一任务就是帮助你用一种风格去写作和展示你的文章。 Wink 是建立在世界上最牛逼的 PHP 框架之上的 Laravel 一个项目,它使每个人都可以轻松地在任何云平台上安装和维护。

PaKOXK0bck5IrbVohbC6zQGxZr4CG31enOUt5n80.png

安装

Wink 可以在任何 Laravel 程序上运行,它使用了一个隔离的数据库链接和验证系统,所以你完全没必要去修改任何现有的项目代码。

使用 Composer 来安装 Wink :

composer require writingink/wink

一旦 composer 安装完成后,运行下面的命令:

php artisan wink:install

查看你的 config/wink.php 文件,wink 将使用 configure the database connection 。然后你用下面的命令替代 php artisan migrate ,运行:

php artisan wink:migrate

进入 yourproject.test/wink 后台,并且使用提供的邮箱和密码登录。

在创建博客文章之前,确保你你的 image 目录设置正确。目录在 config/wink.php 文件中进行设置,默认是 public/wink/images。如果你是用最新的 Laravel 安装 Wink ,请确保你的 public 目录链接到了相应的存储空间。https://learnku.com/docs/laravel/5.7/filesystem#co... 使用下面的命令:

php artisan storage:link

(可选) 访问 https://unsplash.com/oauth/applications 创建一个新的 unsplash app 。获取访问密钥并且更新 config/services.php 文件:

'unsplash' => [
    'key' => 'UNSPLASH_ACCESS_KEY',
],

更新

添加下面的命令到你的部署脚本中去,这样 wink 就能运行新的数据库迁移了:

php artisan wink:migrate

你也可以使用下面的命令来重新发布这些设置:

php artisan vendor:publish --tag=wink-assets --force

主题

Wink 附带了一个易于使用的管理后台。当然,我们也给你的借口提供了一个完全的控制权限,让你可以随心所欲的展示你存储的内容。下面是一个从博客主页获取所有文章列表的例子:


use Wink\WinkPost;

public function index()
{
    $posts = WinkPost::with('tags')
        ->live()
        ->orderBy('publish_date', 'DESC')
        ->simplePaginate(12);

    return view('blog.index', [
        'posts' => $posts
    ]);
}

你可以随意配置你的路由表:

Route::get('/', 'BlogController@index');
// OR
Route::get('/blog', 'BlogController@index');
// OR
Route::domain('blog.mywebsite.com')->get('/', 'BlogController@index');

// 显示单独的文章
Route::get('/{tag}/{slug}', 'BlogController@post');
// OR
Route::get('/{year}/{month}/{slug}', 'BlogController@post');

路径

Wink 目前仍然在持续开发中,我决定在这个早期阶段发布,这样你就可以帮我改进它,不过我已经用它来运行多个网站了,包括我的个人博客。

这就是接下来将要进行的一些开发:

  • [x] 定制 Twitter/Facebook 卡片和 SEO metadata 。
  • [x] 优化 CSS. 迁移到 Tailwind ?
  • [x] 在 lists 中增加文本搜索。
  • [x] 通过状态、计划、标签和作者过滤
  • [x] 深色模式。
  • [ ] 强化发布日期选择器。
  • [ ] 创建一个人们可以立即使用的初始化主题。 @themsaid
  • [ ] 优化图片上传并且支持裁剪图片。
  • [ ] 给文章和页面添加图像画廊。 @themsaid
  • [ ] 增加 tests.

下面是一些我不太确定需不需要的想法:

  • [ ] Email 订阅 & 自动发送有关新内容的邮件
  • [ ] 角色设置 (Contributor / Admin)
  • [ ] 本地化
  • [ ] 多语言内容
  • [ ] 将 metadata 添加到文章和页面。

贡献

Check our 共享手册.

许可

Wink 是一个开源软件,项目许可基于 MIT license

本作品采用《CC 协议》,转载必须注明作者和本文链接
求知若饥,虚心若愚!
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!