Criar uma Collection
Crie a página-mãe e uma pasta _nome na mesma pasta:
Content/Pages/blog/
├── index.blade.php
├── meta.yaml
└── _posts/
├── _collection.yaml
├── primeiro.mdx
└── segundo.mdx
Configure Content/Pages/blog/_posts/_collection.yaml:
type: article
mdx_source: true
defaults:
sitemap:
priority: 0.7
changefreq: monthly
Crie um item:
---
title: Primeiro post
description: Um item mínimo de Collection.
---
# Primeiro post
Conteúdo do post.
O segmento _posts não entra na URL; o item acima gera /blog/primeiro. Liste os itens em Content/Pages/blog/index.blade.php:
Com mdx_source: true, o build também publica o arquivo original em
/blog/primeiro.mdx, incluindo o front matter, e adiciona essa URL ao
llms.txt. Remova a chave quando a fonte do item não deve ser pública.
@extends('layouts.app')
@section('content')
<x-blocks.prose>
<h1>{{ $meta->title }}</h1>
<ul>
@foreach ($items['posts'] ?? [] as $post)
<li><a href="{{ $post->path }}">{{ $post->title }}</a></li>
@endforeach
</ul>
</x-blocks.prose>
@endsection
Adicione o meta.yaml da página-mãe com title e sitemap. Nomes de Collection devem ser globalmente únicos e Collections não devem ser aninhadas.
Para publicar feeds Atom e RSS dos itens MDX indexáveis, habilite o recurso no
_collection.yaml:
type: article
feed: true
Os arquivos ficam junto à página-mãe, em /blog/atom.xml e /blog/rss.xml no
exemplo acima. O título e a descrição do feed vêm da página-mãe; itens Blade
são ignorados. A página-mãe anuncia os dois feeds no <head>.
Para o modelo de agregação, leia Collections. Para tipos, precedência e erros, consulte a Referência de Collections.