定制 tilabs/laravel-content 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

tilabs/laravel-content

最新稳定版本:v1.0.0

Composer 安装命令:

composer require tilabs/laravel-content

包简介

A markdown based headless cms inspired by nuxt/content and Sushi Eloquent Driver.

README 文档

README

⚡️ Generate markdown based Blog Posts with ease. Inspired by @nuxt/content and Caleb Porzio.

License: MIT

Why this package

I personally use this package in a lot of cms based websites. This is only a very rough version, but I will improve it over time.

Requirements

Version
PHP ^8.2
Laravel ^12.0
Sushi by Caleb Porzio ^2.5
League Commonmark ^2.6

Installation & Usage

composer require tilabs/laravel-content

Publish the configuration

php artisan vendor:publish --provider="Tilabs\LaravelContent\Providers\ContentServiceProvider"

Write content

Place your Markdown files inside /content

Create Markdown files anywhere under the configured content directory.

touch content/Hello World.md

Front-matter drives titles, tags, and publication status.

---
title: "Hello World"
tags: [introduction, laravel, cms]
published: true
---

# Hello World

This is my first post.
Headings get automatic IDs and permalinks.

Files without a published key will automatically be drafted

Slug rules

  • Directories are flattened and joined by the configured separator ("_" by default).
  • Numbers or dates at the start of a segment are stripped (2025-05-27-, 01-, etc.).
  • Files named index.md are ignored in the slug
  • Example file tree → slug mapping:
content/
├── News/
│ └── 2025-05-27-Laravel-Content.md → news_laravel-content
└── 01-getting-started/index.md → getting-started

Query content in code

If you cannot see your changes right away, jump to the next chapter

You can now query the markdown content like an Eloquent Model thanks to Sushi. Content already has published and drafted scopes to filter for Content.

use Tilabs\LaravelContent\Models\Content;

// all published posts
$posts = Content::published()->get();

// a single post by slug
$post = Content::where('slug', 'news_laravel-content')->firstOrFail();

Refreshing Content

Whenever you rename, add, or delete Markdown files in production, clear the Sushi-based cache:

php artisan content:clear

During local development you can disable caching ('cache' => false) and the model will refresh on every request.

License

Laravel Deploy is open‑sourced software licensed under the MIT license.

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-05-27