Skip to content

Guida - Aggiungere pagine e menu laterale

Questa guida spiega passo passo come aggiungere nuove pagine al sito e farle comparire nel menu laterale (sidebar).

Il sito è basato su Astro 6 con Starlight 0.40. Le pagine di documentazione sono file .md o .mdx dentro src/content/docs/. Ogni file corrisponde automaticamente a una route (URL).

Esempio:

src/content/docs/
├── index.mdx → /
├── miapagina.mdx → /miapagina/
├── guides/
│ ├── example.md → /guides/example/
│ └── aggiungere-pagine.mdx → /guide/aggiungere-pagine/ (questa pagina)
└── reference/
└── example.md → /reference/example/

Crea un file .md o .mdx in src/content/docs/. Puoi usare sottocartelle per organizzare meglio.

  1. Creare la cartella (opzionale) — Se vuoi raggruppare pagine per argomento, crea una sottocartella:

    Terminal window
    mkdir -p src/content/docs/argomenti
  2. Creare il file — Crea un file, ad esempio src/content/docs/argomenti/cicli-csharp.mdx:

    ---
    title: Cicli in C#
    description: Guida ai cicli for, while e foreach in C#.
    ---
    ## Ciclo `for`
    ```csharp
    for (int i = 0; i < 10; i++)
    {
    Console.WriteLine(i);
    }
    int[] numeri = { 1, 2, 3, 4, 5 };
    foreach (var n in numeri)
    {
    Console.WriteLine(n);
    }
  3. Aggiungere al menu laterale — Apri astro.config.mjs e aggiungi la nuova pagina nella sezione sidebar:

    sidebar: [
    {
    label: 'Argomenti',
    items: [
    { label: 'Mia Pagina', slug: 'miapagina' },
    // Aggiungi qui le tue pagine:
    { label: 'Cicli C#', slug: 'argomenti/cicli-csharp' },
    ],
    },
    ],

    Il campo slug è il percorso del file senza estensione e senza src/content/docs/.

---
title: Titolo pagina
description: Breve descrizione
---
## Contenuto
Testo normale, **grassetto**, `codice`, ecc.
CampoObbligatorioDescrizione
titleTitolo della pagina (appare anche nella sidebar)
descriptionDescrizione breve (usata per SEO)
prevNasconde il link “Pagina precedente” se false
nextNasconde il link “Pagina successiva” se false

La sidebar si configura in astro.config.mjs. Ecco le opzioni principali:

{ label: 'Nome link', slug: 'percorso/del/file' }
{
label: 'Nome sezione',
items: [
{ label: 'Sottopagina 1', slug: 'sezione/pagina1' },
{ label: 'Sottopagina 2', slug: 'sezione/pagina2' },
],
}

Puoi anche generare automaticamente il menu da una cartella:

{
label: 'Riferimenti',
items: [{ autogenerate: { directory: 'reference' } }],
}

Questo include tutti i file .md/.mdx dentro src/content/docs/reference/.

src/content/docs/ astro.config.mjs
───────────────────── ────────────────────
index.mdx sidebar: [
miapagina.mdx ────────────────→ { label: 'Mia Pagina', slug: 'miapagina' },
argomenti/
├── cicli-csharp.mdx ──────────→ { label: 'Cicli C#', slug: 'argomenti/cicli-csharp' },
└── linq.mdx ─────────────────→ { label: 'LINQ', slug: 'argomenti/linq' },

Dopo aver aggiunto le pagine, verifica che tutto funzioni:

Terminal window
bun dev # Avvia il server di sviluppo
bun astro check # Controlla errori di tipo
bun build # Build di produzione

📖 Documentazione ufficiale: Starlight Sidebar