swiftmade / blogdown
使用markdown的简单Laravel博客包
v6.0.0
2024-03-21 16:16 UTC
Requires
- php: ^8.0
- graham-campbell/markdown: ^15.0
- laravel/framework: ^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.13
- laravel/laravel: 8.*|9.*|10.*|11.*
- mockery/mockery: ^1.3
- phpunit/phpunit: ^9.0|^10.0
README
将一个简单的扁平文件markdown博客添加到现有的Laravel应用中。
安装
您可以通过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
模型!
欢迎提交拉取请求
如果您想看到更多功能或报告错误,请随时创建问题并提交拉取请求。
贡献者