Site novo (mas nem tanto)
Esta é a terceira versão deste site. Apenas duas reescritas (uma do zero, esta nem tanto) em 10 anos eu acho que está bom demais. Ouvi falar do Astro no podcast syntax.fm (em inglês) e me interessei bastante. É uma ferramenta bem flexível de gerar sites, que não entra na proposta corporativa do Gatsby.
O primeiro passo foi testar se seria possível manter as urls antigas do site atual com a nova ferramenta. E com mínimas edições no frontmatter1, não só foi possível como fácil. Veja no código, como foi intuitivo adaptar o modelo de blog existente do Astro para o conteúdo legado do Jekyll:
const legacyPost = defineCollection({
loader: glob({base: './src/content/legacy-posts', pattern: '**/*.{md,mdx}'}),
schema: z.object({
title: z.string(),
date: z.string(),
updatedDate: z.string().optional(),
description: z.string().optional(),
image: z.string().optional(),
altimg: z.string().optional(),
// este parâmetro provavelmente será deletado,
// pois não faz mais sentido layout simplificado
// do novo site.
img_full: z.coerce.boolean().optional(),
})
});
content.config.ts
na root de um projeto astro.Decidi chamar isso de legado justamente porque decidi mudar a estrutura do frontmatter, removendo as gambiarras de anos que eu usava no jekyll, mas também dando margem para aprender com a ferramenta maneiras mais simples de fazer as coisas. Inclusive, essa legenda no código acima é muito mais fácil de fazer com o astro do que com Jekyll.
Footnotes
-
Frontmatter: área de metadados de um arquivo em markdown, neste caso, uma ferramenta usada em comum tanto pelo Astro quanto pelo Jekyll. ↩