Guia do Tema Astro Narrow

Guia do Tema Astro Narrow

Um guia conciso para configurar o Astro Narrow, tipos de conteúdo, recursos de markdown e links de projetos.

O Astro Narrow é uma versão nativa em Astro da experiência de leitura do Narrow. Ele usa coleções de conteúdo, configuração tipada, componentes Astro e transformações de Markdown em tempo de build, em vez de código de compatibilidade com Hugo.

Configurar o site.ts#

O arquivo src/config/site.ts controla a identidade do site, navegação, largura do layout, comentários, analytics, comportamento da galeria e configurações de posts.

OpçãoPropósito
name, shortName, descriptionMetadados do site
authorCartão de perfil da home e links sociais
contentWidthLargura do layout principal
ui.navbar.stickyNavbar fixa
ui.dock.enabledDock inferior
navNavegação do cabeçalho
footerNavNavegação do rodapé
commentsConfigurações do Giscus
analyticsConfigurações do Umami
gallery, lightboxComportamento de imagens no Markdown
post.relatedCountQuantidade de posts relacionados
post.licenseBloco de licença
export const siteConfig = {
name: 'Astro Narrow',
shortName: 'Narrow',
description: 'Um tema Astro focado em conteúdo.',
contentWidth: '56rem',
}

Configurar Tipos de Conteúdo#

O arquivo src/config/content.ts define como cada tipo de conteúdo aparece na navegação, listas, cartões e seções da home.

OpçãoValores
cardStylearticle, showcase, compact
listLayoutstack, grid
gridColumns1, 2, 3
home.enabledExibir o tipo na página inicial
home.limitNúmero de entradas na página inicial
home.featuredOnlyExibir apenas entradas em destaque
src/config/content.ts
export const contentTypes = {
posts: {
collection: 'posts',
path: '/posts/',
label: { 'en': 'Posts', 'pt': 'Publicações' },
cardStyle: 'article',
listLayout: 'stack',
gridColumns: 1,
},
}

Frontmatter#

Os posts usam os campos das coleções de conteúdo do Astro. Mantenha o frontmatter pequeno e previsível.

CampoUso
titleTítulo da página
descriptionResumo e meta description
pubDateData de publicação
updatedDateData de atualização opcional
coverImagem de capa
tagsTaxonomia de tags
toccenter, side, true ou false
commentsComentários por entrada
math, mermaid, gallery, lightboxAtivação de recursos

Entradas de projetos também suportam featured e links.

links:
- label: Website
url: https://example.com
icon: lucide:external-link
- label: GitHub
url: https://github.com/example/repo
icon: simple-icons:github
featured: true

Recursos de Markdown#

Note

Prefira escrever em Markdown puro. O Astro Narrow transforma padrões comuns com remark e rehype.

RecursoEntrada
AlertasBlockquotes no estilo do GitHub
Abas::::tabs e :::tab{title="..."}
GaleriaImagens Markdown consecutivas
Matemática$x^2$ e $$...$$
MermaidBlocos cercados mermaid
CódigoBlocos do Expressive Code

Código#

theme.ts
type ColorMode = 'light' | 'dark' | 'auto'
export function setMode(mode: ColorMode) {
document.documentElement.classList.toggle('dark', mode === 'dark')
}

Galeria#

Matemática e Mermaid#

Matemática inline funciona como E=mc2E = mc^2.

flowchart LR A[Markdown] --> B[remark/rehype] B --> C[Componentes Astro] C --> D[Site estático]
Licença

CC BY-NC-SA 4.0 Este trabalho está licenciado sob uma licença Creative Commons Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional.

Publicações Relacionadas