Надавайте Markdown-версії ваших Laravel-сторінок для AI agents

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 10 березня, 2026
Хочете, щоб ваш Laravel‑додаток автоматично віддавав чистий Markdown для AI‑краулерів та агентів без жодних змін у контролерах чи поданнях? Дізнайтеся, як middleware від Spatie виявляє такі запити (.md, Accept‑заголовок, відомі user‑agent), перетворює HTML у Markdown і керує кешуванням.

Штучні індексувачі та агенти дедалі частіше зчитують веб‑контент, але їм не потрібен увесь ваш HTML — навігаційні меню, бандли JavaScript та декоративна розмітка лише заважають. Пакет Spatie Laravel Markdown Response дозволяє вашому Laravel‑додатку виявляти запити від ботів або агентів і повертати чисту версію у markdown.

Ніяких змін у контролерах чи виглядах не потрібно. Пакет працює на рівні middleware: перехоплює відповіді й перетворює HTML на markdown перед відправленням.

# Встановлення

composer require spatie/laravel-markdown-response

Пакет реєструється автоматично. Щоб почати, обгорніть маршрути, які хочете віддавати в markdown, middleware ProvideMarkdownResponse:

use Spatie\MarkdownResponse\Middleware\ProvideMarkdownResponse;
 
Route::middleware(ProvideMarkdownResponse::class)->group(function () {
    Route::get('/blog', [BlogController::class, 'index']);
    Route::get('/blog/{article}', [BlogController::class, 'show']);
    Route::get('/docs/{page}', [DocsController::class, 'show']);
});

Можна також застосувати middleware глобально, щоб охопити всі маршрути.

# Як працює виявлення

Middleware визначає запити за трьома механізмами:

Якщо в URL використано суфікс .md, пакет реєструє глобальний middleware RewriteMarkdownUrls, який знімає суфікс перед маршрутизацією — тому /blog.md звичайно резолвиться в /blog, а конвертація відбувається на виході.

Також можна використовувати PHP‑атрибути безпосередньо в класі контролера або в методі, щоб керувати конвертацією без middleware. #[ProvideMarkdown] вмикає конвертацію для контролера чи дії, а #[DoNotProvideMarkdown] — явно її відключає.

# Конвертація та кешування

За замовчуванням конвертацію виконує локальний драйвер league/html-to-markdown, але як альтернативу доступний драйвер Cloudflare Workers AI.

Перетворені відповіді кешуються автоматично. TTL за замовчуванням — одна година; поведінку кешування та тривалість можна налаштувати. Щоб опублікувати файл конфігурації:

php artisan vendor:publish --tag="markdown-response-config"

Деякі доступні опції:

Параметр За замовчуванням Опис
enabled true Увімкнути/вимкнути конвертацію в markdown
driver league league або cloudflare
detect_via_accept_header true Відповідати на Accept: text/markdown
detect_via_md_suffix true Відповідати на URL зі суфіксом .md
cache.enabled true Кешувати перетворені відповіді
cache.ttl 3600 Тривалість кешу в секундах

# Пряме перетворення

Якщо потрібно перетворити HTML у markdown поза middleware, фасад Markdown дає прямий інтерфейс:

use Spatie\MarkdownResponse\Facades\Markdown;
 
$markdown = Markdown::convert($html);

Повну документацію дивіться на spatie.be/docs/laravel-markdown-response, а вихідний код — на GitHub.

Популярні

Logomark Logotype

Nuxt 3 + Laravel Sanctum: Просте та надійне рішення для автентифікації вашого SPA та API

У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту

Logomark Logotype

Випущено Livewire 3.6

Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!

Logomark Logotype

Журнал аудиту в Laravel

Хочете забезпечити повну прозорість у своїх Laravel-додатках? Пакет Laravel Audit Log допоможе вам детально відстежувати всі зміни моделей Eloquent та відповідати вимогам регуляторів. Читайте далі, щоб дізнатися, як цей потужний інструмент може підвищити надійність вашого проєкту