saywebsolutions/lets-blog

Laravel 5的博客包

安装: 42

依赖: 0

建议者: 0

安全性: 0

星标: 1

关注者: 0

分支: 0

开放问题: 0

语言:HTML

类型:

0.0.1 2018-04-29 00:00 UTC

This package is auto-updated.

Last update: 2024-09-23 07:04:53 UTC


README

一个简单的基于命令行和Markdown的博客插件包,适用于Laravel,包括标签和关联帖子系列的支持。

安装和快速入门

通过Composer包含包

composer require "saywebsolutions/letsblog"

将服务提供者添加到config/app.php

'providers' => [
    ...
	SayWebSolutions\LetsBlog\Providers\LetsBlogServiceProvider::class,
	...
]

发布配置文件

了解配置选项的最佳方式是发布配置并查看文件

php artisan vendor:publish --provider="SayWebSolutions\LetsBlog\Providers\LetsBlogServiceProvider" --tag=config

config/letsblog.php中找到配置文件。

迁移Let's Blog表

php artisan migrate --path=/vendor/saywebsolutions/lets-blog/database/migrations

您的主blade布局必须命名为app.blade.php才能使默认主题正常工作;如果不是,有一个配置键theme_extends允许您定义要扩展的blade布局。

导航到/blog并查看默认博客页面。

添加和更新帖子

使用Markdown格式编写帖子,默认情况下帖子应放在./blog/posts目录中。

在添加/编辑帖子后,运行letsblog:build命令以添加新帖子或应用您的编辑

php artisan letsblog:build

用于检查现有帖子的主要键将是identifier字段,默认情况下使用文件名。

帖子格式

帖子格式应如下所示

---
title: LetsBlog Package Released
slug: letsblog-package-released-laravel
meta: LetsBlog package released for Laravel.
keywords: letsblog, package, laravel, release
published_at: 2018-03-17
tags: LetsBlog, Laravel
---

## Post Title

Post contents...

您可以在文件的上部(前文)设置任何字段。可用的解析器接收定义在前文的每个字段中的数据,并在保存到posts表之前可以操作这些数据。

当前解析器包括

  • 标题
  • 元数据(描述)
  • 正文
  • 发布日期
  • 别名(如未定义,将回退到文件名)
  • 标签
  • 系列(可选的系列名称,帖子所属系列)

迁移

可以从包的migrations文件夹直接运行迁移

php artisan migrate --path=/vendor/saywebsolutions/lets-blog/database/migrations
php artisan migrate:rollback

如果需要将迁移发布到父应用,请使用vendor:publish命令

php artisan vendor:publish --provider="SayWebSolutions\LetsBlog\Providers\LetsBlogServiceProvider" --tag=migrations

主题

要设置主题,请将配置中的'letsblog.theme'属性设置。为了简化问题,所有视图都应该简单地使用letsblog::theme.master作为主要视图。然后,一个view作为发送到视图的数据的一部分设置。

return view('letsblog::themes.master', [
    'view' => lb_view('post.show'),
]);

lb_view是一个快捷助手,用于避免每次都要使用主题设置完整路径。这允许通过只需更改配置参数即可轻松更换主题。

到目前为止,目前支持的主题包括

  • 默认
  • 扩展

默认主题

默认主题目前未经测试,可能或可能不工作。

扩展主题

如果希望在现有blade布局中嵌入博客,扩展主题很有用。目前,扩展主题期望父应用程序中可用Bootstrap 3。

请确保在父布局中有一个用于javascript的yield指令,例如)

@yield ('javascript')

覆盖布局

在许多情况下,您可能希望对布局进行一些定制,例如添加一些分析跟踪或广告。为了允许这样做,主题包括许多可以替换或修改现有布局的块。

开始时,在视图目录中创建一个overrides文件

/resources/views/vendor/lets-blog/themes/overrides.blade.php

从那里可以开始使用以下部分块,希望它们是自解释的。

  • meta.opensearch
  • meta.title
  • meta.keywords
  • meta.description
  • meta.og
  • head.files
  • head.styles
  • sidebar.series
  • sidebar.popular
  • component.search
  • component.related
  • footer-nav.left
  • footer-nav.right
  • post.list
  • post.head
  • post.series
  • post.body
  • post.related
  • page.head
  • page.body
  • layout.view
  • layout.end

自定义

为了进行自定义,可以使用 LetsBlog 门面。

'aliases' => [
  'Blog'      => SayWebSolutions\LetsBlog\Facades\LetsBlogFacade::class,
  ...
]

门面提供了以下快捷函数的访问权限

  • published() - 带分页的帖子列表。
  • search($q) - 通过搜索的帖子分页列表。
  • all() - 所有帖子。
  • last() - 最后一条帖子(按 published_at 日期排序)。
  • post($slug) - 根据slug的帖子或页面。
  • count() - 帖子数量。
  • top($amount) - 热门帖子(默认10)。
  • tags() - 所有标签。
  • publishedWhereTag($tag) - 根据标签的帖子分页列表。

资源

发布包中的所有文件

php artisan vendor:publish --provider="SayWebSolutions\LetsBlog\Providers\LetsBlogServiceProvider"

或者单独发布

php artisan vendor:publish --provider="SayWebSolutions\LetsBlog\Providers\LetsBlogServiceProvider" --tag=migrations
php artisan vendor:publish --provider="SayWebSolutions\LetsBlog\Providers\LetsBlogServiceProvider" --tag=views
php artisan vendor:publish --provider="SayWebSolutions\LetsBlog\Providers\LetsBlogServiceProvider" --tag=config
php artisan vendor:publish --provider="SayWebSolutions\LetsBlog\Providers\LetsBlogServiceProvider" --tag=assets

页眉和页脚

每个主题都应该支持页眉和页脚部分(以及可能更多的标准部分)。想法是提供一个视图列表,并按此顺序包含它们。

这允许包含任何广告或分析跟踪代码。

添加解析器

要添加解析器,创建一个具有要解析的键名称的类。例如,title 将查找 SayWebSolutions\LetsBlog\Parser\Field\Title。这样就可以添加额外的字段或覆盖现有的字段。

待办事项

还有一些需要完成的事情。

  • 管理员部分(带有WYSIWYG MD编辑器)
  • 更多主题
  • 评论