Navigazione
La navigazione in Jamdesk usa schede, gruppi e pagine per organizzare la documentazione. Puoi aggiungere link esterni tramite ancore.
La barra laterale e la barra superiore sono definite interamente in docs.json. La gerarchia di navigazione ha tre livelli: schede per le sezioni di primo livello, gruppi per le cartelle comprimibili e pagine per le singole voci. Le ancore aggiungono link esterni visualizzati in ogni pagina.
Gli screenshot mostrano l'interfaccia in inglese.
Panoramica della struttura
{
"navigation": {
"tabs": [
{
"tab": "Documentation",
"icon": "book-open",
"groups": [
{
"group": "Getting Started",
"pages": ["introduction", "quickstart"]
}
]
}
]
}
}Concetti
Schede
Sezioni di navigazione di primo livello. Controlla la loro posizione con l'impostazione tabsPosition:
| Valore | Posizione |
|---|---|
"top" | Nella barra delle schede dell'intestazione |
"left" | In cima alla barra laterale |
La posizione predefinita dipende dal tema:
| Tema | Predefinita |
|---|---|
| jam | "left" |
| nebula | "left" |
| pulsar | "top" |
| halo | "left" |
| dusk | "left" |
{
"tabsPosition": "left",
"navigation": {
"tabs": [
{ "tab": "Guides", "icon": "book", "groups": [...] },
{ "tab": "API", "icon": "code", "groups": [...] }
]
}
}
Quando le schede si trovano nell'intestazione, tabsAlignment stabilisce dove sta la riga di schede:
| Valore | Allineamento |
|---|---|
"start" | A sinistra nell'intestazione (predefinito) |
"center" | Centrate nell'intestazione |
"end" | A destra nell'intestazione |
{
"tabsPosition": "top",
"tabsAlignment": "center"
}
tabsAlignment non ha effetto quando le schede sono nella barra laterale, né nel tema Pulsar, che colloca le schede superiori sul lato destro dell'intestazione.
Per impostazione predefinita, le icone della barra laterale vengono visualizzate nella variante Font Awesome Solid. Puoi sostituire il peso di qualsiasi
icona con un prefisso di stile (light/book) o con il
formato oggetto dell'icona.
Link esterni (ancore)
Aggiungi link esterni visualizzati in cima alla barra laterale in tutte le pagine:
{
"anchors": [
{ "name": "Blog", "href": "https://blog.example.com", "icon": "newspaper" },
{ "name": "Status", "href": "https://status.example.com", "icon": "signal" }
]
}
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
name | string | Sì | Testo visualizzato per il link |
href | string | Sì | URL (si apre in una nuova scheda) |
icon | string | No | Nome dell'icona Font Awesome |
Gruppi
Un gruppo è un insieme denominato di voci della barra laterale all'interno di una scheda. I gruppi aggiungono un secondo livello alla gerarchia della barra laterale e consentono di nascondere le sezioni più profonde dietro cartelle in stile fisarmonica.
{
"group": "Authentication",
"pages": ["auth/overview", "auth/tokens"]
}
Comportamento di sezioni e fisarmoniche
I gruppi di primo livello sono sezioni permanenti: il titolo e le relative pagine sono sempre visibili e facendo clic sul titolo si passa alla prima pagina del gruppo. I gruppi denominati annidati sono fisarmoniche comprimibili. Un gruppo annidato è chiuso per impostazione predefinita, a meno che non contenga la pagina corrente o non imposti expanded: true. Al caricamento iniziale e quando cambia il percorso, l'intera catena di antenati della pagina corrente si apre automaticamente, mostrando il link attivo; i visitatori possono comunque comprimere manualmente il gruppo annidato attivo.
| Tipo di gruppo | Comportamento predefinito |
|---|---|
| Gruppo di primo livello | Sempre aperto, senza chevron. Facendo clic sul titolo si passa alla prima pagina del gruppo. |
| Gruppo denominato annidato | Compresso finché non è attivo, non viene aperto manualmente o non viene configurato con expanded: true. Facendo clic su un gruppo chiuso lo si apre, mentre facendo clic su un gruppo aperto lo si chiude; la navigazione avviene solo facendo clic su una pagina. |
| Contenitore senza nome | Le relative pagine vengono sempre visualizzate perché non dispone di un'etichetta o di un controllo di apertura. |
Usa i gruppi di primo livello per le sezioni principali della barra laterale e i gruppi annidati per mantenere consultabili le sezioni più lunghe. Lo stato di apertura persiste durante la navigazione nell'app e viene reimpostato dopo un aggiornamento completo della pagina.


Campi dei gruppi
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
group | string | Sì | Etichetta visualizzata nella barra laterale. |
pages | array | Sì | Elenco dei percorsi delle pagine e/o degli oggetti dei gruppi annidati (consulta Gruppi annidati per la struttura annidata). |
icon | string | No | Nome dell'icona Font Awesome visualizzata accanto all'etichetta del gruppo. |
tag | string | No | Piccolo badge accanto all'etichetta (ad esempio "New", "Beta"). |
root | string | No | Percorso della pagina a cui il gruppo rimanda facendo clic sull'etichetta, invece di passare alla prima pagina figlia. |
hidden | boolean | No | Nasconde il gruppo dalla barra laterale per impostazione predefinita. Le pagine restano raggiungibili tramite link diretto. |
public | boolean | No | Contrassegna il gruppo come accessibile pubblicamente. Per impostazione predefinita, usa l'impostazione della scheda padre. |
expanded | boolean | No | Apre per impostazione predefinita un gruppo denominato annidato al primo caricamento della pagina. I gruppi di primo livello sono sempre aperti, quindi il flag non ha alcun effetto visibile. I gruppi antenati della pagina corrente si aprono automaticamente al caricamento iniziale e quando cambia il percorso. |
Pagine
Singole pagine della documentazione, identificate dal percorso del file (senza .mdx):
"pages": ["introduction", "guides/quickstart", "api/endpoints"]
Per impostazione predefinita, il titolo della barra laterale viene generato dal nome del file: i trattini diventano spazi e ogni parola viene scritta con l'iniziale maiuscola. Ad esempio, "api/getting-started" viene visualizzato come "Getting Started".
Per impostare un titolo personalizzato nella barra laterale, usa un oggetto invece di una stringa:
"pages": [
"guides/quickstart",
{ "page": "deploy/aws", "title": "AWS Route 53 & CloudFront" },
{ "page": "content/seo", "title": "SEO" },
{ "page": "api/users", "title": "List Users", "method": "GET" }
]
Questa opzione è utile per acronimi, nomi propri e badge degli endpoint API.
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
page | string | Sì | Percorso del file senza .mdx |
title | string | No | Titolo personalizzato nella barra laterale |
icon | string | No | Nome dell'icona Font Awesome |
tag | string | No | Piccolo badge accanto al titolo (ad esempio "New", "Beta") |
method | string | No | Badge del metodo HTTP: GET, POST, PUT, PATCH o DELETE |
Più schede
Crea sezioni separate per destinatari diversi:
{
"navigation": {
"tabs": [
{
"tab": "Guides",
"icon": "book",
"groups": [
{ "group": "Getting Started", "pages": ["intro", "quickstart"] }
]
},
{
"tab": "API Reference",
"icon": "code",
"groups": [{ "group": "Endpoints", "pages": ["api/auth", "api/users"] }]
}
]
}
}
Link esterni nelle schede
Collega direttamente dalle schede documentazione o risorse esterne:
{
"navigation": {
"tabs": [
{ "tab": "Docs", "icon": "book", "groups": [...] },
{ "tab": "GitHub", "icon": "github", "href": "https://github.com/example/repo" }
]
}
}
Le schede esterne si aprono in una nuova scheda del browser.
Gruppi annidati
Organizza la documentazione complessa con strutture annidate:
{
"group": "SDKs",
"pages": [
"sdks/overview",
{
"group": "JavaScript",
"pages": ["sdks/js/install", "sdks/js/usage"]
},
{
"group": "Python",
"pages": ["sdks/python/install", "sdks/python/usage"]
}
]
}
