Prezet: Laravel 的 Markdown 博客工具

v0.15.0 2024-09-27 14:20 UTC

README

PREZET

Prezet: Laravel 的 Markdown 博客工具

从 Markdown 文件到 SEO 友好的博客、文章和文档,只需几秒钟!

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status PHPStan Level 9

prezethd.mov

目录

🌟 功能

  • 几秒钟内安装: 使用单个命令设置您的项目。
  • 自动图像优化: 通过自动压缩、WebP 转换和响应式 srcset 处理,简化您的媒体。
  • 动态目录: 从文章的 H2 和 H3 标题自动生成嵌套、滚动同步的目录。
  • 验证 frontmatter: 验证并强制转换 frontmatter 数据为结构化 DTO,以确保内容的一致性。
  • SUMMARY.md 支持: 使用简单的标题和链接组织博客级别的层次结构。
  • 可配置的 Markdown: 通过包的配置文件自定义 CommonMark 扩展、路由设置和 front matter DTO。
  • SEO 优化: 根据 frontmatter 数据自动生成元标签,以提高搜索引擎的可发现性。
  • Blade 组件: 在 Markdown 中包含 Laravel Blade 组件,以实现丰富、交互式的内容。
  • 完全自定义: Prezet 基于模块化操作类构建,允许您完全自定义包的内置控制器。

🚀 快速开始

创建一个新的 Laravel 安装

composer create-project laravel/laravel prezet
cd prezet
git init && git add . && git commit -m "Initial commit"

安装 Prezet 包

composer require benbjurstrom/prezet

运行包安装器

⚠️ 注意:在现有应用程序上运行安装器之前,建议切换到一个干净的分支,以便您可以看到 Prezet 在安装过程中所做的更改。

php artisan prezet:install

更新索引

在添加或修改您的 Markdown 文件后,您需要更新索引以反映这些更改

php artisan prezet:index

此命令将 SQLite 索引更新为最新的 Markdown 文件 frontmatter 信息。每次您

  • 添加新的 Markdown 文件
  • 更改 Markdown 文件的 slug
  • 修改 frontmatter 并希望看到这些更改在索引页面上反映出来

请注意,对 Markdown 文件主内容的更改不需要更新索引,因为此内容在显示单个帖子时直接从文件中读取。

启动您的服务器

php artisan serve

查看您的新 Markdown 博客 https://:8000/prezet

文档

prezet.com 查看详细文档

鸣谢

许可协议

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件