Guida al tema Astro Narrow

Guida al tema Astro Narrow

Una guida concisa per configurare Astro Narrow, i tipi di contenuto, le funzionalità Markdown e i link dei progetti.

Astro Narrow è una versione Astro-native dell’esperienza di lettura Narrow. Usa content collection, configurazione tipizzata, componenti Astro e trasformazioni Markdown a build-time, invece di codice di compatibilità con Hugo.

Configurare site.ts#

src/config/site.ts controlla l’identità del sito, la navigazione, la larghezza del layout, i commenti, l’analytics e le impostazioni degli articoli.

OpzioneScopo
name, shortName, descriptionMetadati del sito
authorCard del profilo in home e link social
contentWidthLarghezza del layout principale
ui.navbar.stickyInterruttore navbar fissa
ui.dock.enabledInterruttore dock inferiore
navNavigazione dell’header
footerNavNavigazione del footer
commentsImpostazioni Giscus
analyticsImpostazioni Umami
gallery, lightboxComportamento delle immagini Markdown
post.relatedCountNumero di articoli correlati
post.licenseBlocco licenza
export const siteConfig = {
name: 'Astro Narrow',
shortName: 'Narrow',
description: 'Un tema Astro incentrato sui contenuti.',
contentWidth: '56rem'
}

Configurare i tipi di contenuto#

src/config/content.ts definisce come ogni tipo di contenuto appare nella navigazione, nelle liste, nelle card e nelle sezioni della home.

OpzioneValori
cardStylearticle, showcase, compact
listLayoutstack, grid
gridColumns1, 2, 3
home.enabledMostra il tipo in home page
home.limitNumero di elementi in home page
home.featuredOnlyMostra solo gli elementi in evidenza
src/config/content.ts
export const contentTypes = {
posts: {
collection: 'posts',
path: '/posts/',
label: { it: 'Articoli', en: 'Posts' },
cardStyle: 'article',
listLayout: 'stack',
gridColumns: 1
}
}

Frontmatter#

Gli articoli usano i campi delle content collection di Astro. Mantieni il frontmatter piccolo e prevedibile.

CampoUso
titleTitolo della pagina
descriptionRiassunto e meta description
pubDateData di pubblicazione
updatedDateData di aggiornamento opzionale
coverImmagine di copertina
categoriesCategorie dell’articolo usate dai filtri dell’Archivio
tagsTag dell’articolo usati dai filtri dell’Archivio
toccenter, side, true o false
commentsCommenti per singolo articolo
math, mermaid, gallery, lightboxIndicazioni sulle funzionalità

Categorie e tag vengono individuati automaticamente dagli articoli pubblicati nella lingua corrente. I percorsi di lettura ordinati sono definiti separatamente in src/content/series/<lingua>/, quindi gli articoli non ripetono nomi di serie o numeri di capitolo. I progetti mantengono i propri tag per le card e la ricerca, ma non compaiono nell’Archivio. Le voci dei progetti supportano anche featured e links.

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

Funzionalità Markdown#

Note

Preferisci un input Markdown nativo. Astro Narrow trasforma i pattern più comuni con remark e rehype.

FunzionalitàInput
AlertBlockquote in stile GitHub
Tab::::tabs e :::tab{title="..."}
GalleryImmagini Markdown consecutive
Math$x^2$ e $$...$$
MermaidBlocchi fenced mermaid
CodiceFence gestiti da Expressive Code

Codice#

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

Math e Mermaid#

La matematica inline funziona così: E=mc2E = mc^2.

flowchart LR A[Markdown] --> B[remark/rehype] B --> C[Componenti Astro] C --> D[Sito statico]
Licenza

CC BY-NC-SA 4.0 Licenza.

Articoli correlati