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 协议》,转载必须注明作者和本文链接
求知若饥,虚心若愚!
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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