swiftmade/blogdown

使用markdown的简单Laravel博客包

v6.0.0 2024-03-21 16:16 UTC

This package is not auto-updated.

Last update: 2024-09-19 18:38:49 UTC


README

将一个简单的扁平文件markdown博客添加到现有的Laravel应用中。

Latest Version on Packagist Total Downloads GitHub Actions StandWithUkraine

安装

您可以通过composer安装此包

# Require it as a dependency
composer require swiftmade/blogdown

# Publish the config file
php artisan vendor:publish --provider "Swiftmade\Blogdown\BlogdownProvider"

转到 config/blogdown.php 来配置作者(文件中包含示例)。

文章生成器

只需运行此命令来创建新文章

php artisan blog:new

按照说明操作,您将在几秒钟内准备好第一篇博客文章。

文章结构

每篇文章由一个元数据部分(必填)和内容组成。您可以使用Markdown来丰富文章的格式。

要在blade中使用markdown,只需调用@markdown / @endmarkdown。或者,您也可以在.blade.php之前添加.md扩展名,并跳过markdown调用。

{{--
title: Hello World!
tags: blog, first post
date: 18.03.2020
--}}
Use blade to compose post content.

@markdown
**Or even use markdown** if you want.

### Isn't that great?
@endmarkdown

草稿与发布

假设您正在处理一篇长文章,并且它尚未准备好用于生产环境。只需这样做

{{--
... other attributes
draft: true
--}}

... Your awesome content ...

由于您添加了draft元属性,此文章将在production 环境中被隐藏。

元属性是动态的

您可以声明任意多的元属性。

{{--
random_attribute: 51231
--}}

您可以像这样访问文章的元属性

$post->random_attribute; // 51231

强制清除缓存

php artisan blog:index

自定义Blogdown

您几乎可以更改Blogdown的任何内容。要开始,请发布配置

php artisan vendor:publish  --provider "Swiftmade\Blogdown\BlogdownProvider"

您可以自定义的内容

  • 覆盖视图以更改博客的外观
  • 添加作者列表以快速加载作者元数据
  • 文章短标的格式和内容
  • 启用/禁用默认路由。
  • 更改日期格式。
  • 等等...

文章短标的格式和内容

默认情况下,这是文章短标的构建方式

public function slug()
{
    return Str::slug($this->view_name);
}

如有需要,您可以覆盖Post模型并构建更好的短标

public function slug()
{
    return Str::slug($this->date->format('Y-m-d') . ' ' . $this->title);
}

不要忘记在config/blogdown.php中注册您的自定义Post模型!

欢迎提交拉取请求

如果您想看到更多功能或报告错误,请随时创建问题并提交拉取请求。

贡献者