Jamdesk Documentation logo

Guida alla migrazione

Migra un progetto Mintlify con jamdesk migrate, che converte mint.json in docs.json e riscrive i tuoi file MDX sul posto.

Migra un progetto Mintlify con un solo comando: jamdesk migrate legge mint.json, scrive docs.json e riscrive il tuo MDX sul posto. Per GitBook, Docusaurus, ReadMe, Confluence o un'altra piattaforma, segui i passaggi manuali nella scheda "Altre piattaforme".

Esporta prima come Markdown, se possibile. Jamdesk è basato su MDX. Un file Markdown richiede solo la rinomina in .mdx e poche righe di frontmatter.

Scegli il percorso

Guida da Mintlify a Jamdesk

Guida alla migrazione con contesto, esempi e suggerimenti.

Migrazione automatica

1
Installa la CLI
npm install -g jamdesk
2
Esegui la migrazione
jamdesk migrate

Eseguilo dalla radice del progetto. Il comando fa quanto segue:

  • Legge mint.json e scrive docs.json
  • Rinomina i componenti deprecati nei file MDX (ad es. CardGroup → Columns)
  • Sposta i file snippet MDX orfani in /snippets/ e riscrive ogni import relativo al genitore (../foo/bar.mdx) in uno relativo alla radice (/snippets/foo/bar.mdx)
  • Estrae i componenti inline che usano React hook in /snippets/<name>.tsx con la direttiva 'use client' e riscrive l'MDX originale per importare da /snippets/
  • Corregge automaticamente i problemi di sintassi MDX meccanici che causerebbero il crash della build

Il comando è idempotente. Eseguilo di nuovo dopo le modifiche per applicare solo le novità. Tutto ciò che non può essere corretto in sicurezza viene stampato come avviso con il file, l'import e l'azione da compiere.

3
Rivedi e adatta

Controlla il docs.json e i file MDX generati. Verifica la struttura di navigazione e correggi gli avvisi stampati dalla CLI.

Mappatura della configurazione

La CLI converte mint.json in docs.json. Usa queste differenze per verificare l'output.

Mintlify (mint.json):

{
  "name": "My Docs",
  "navigation": [
    { "group": "Getting Started", "pages": ["introduction", "quickstart"] }
  ],
  "colors": { "primary": "#0D9373" },
  "topbarLinks": [{ "name": "Blog", "url": "https://example.com/blog" }]
}

Jamdesk (docs.json):

{
  "$schema": "https://jamdesk.com/docs.json",
  "name": "My Docs",
  "theme": "jam",
  "colors": { "primary": "#0D9373" },
  "navbar": {
    "links": [{ "label": "Blog", "href": "https://example.com/blog" }]
  },
  "navigation": {
    "groups": [
      { "group": "Getting Started", "pages": ["introduction", "quickstart"] }
    ]
  }
}

Compatibilità dei componenti

La maggior parte dei componenti Mintlify ha un equivalente diretto in Jamdesk. Alcuni hanno nomi o sintassi diversi.

Componente MintlifyEquivalente JamdeskNote
<Card><Card>Stessa sintassi
CardGroup<Columns>Usa la prop cols per il numero di colonne
<Columns><Columns>Stessa sintassi
<Accordion><Accordion>Stessa sintassi
<Tabs> / <Tab><Tabs> / <Tab>Stessa sintassi
<Steps> / <Step><Steps> / <Step>Stessa sintassi
<CodeGroup><CodeGroup>Stessa sintassi
<Tip>, <Note>, <Warning><Tip>, <Note>, <Warning>Stessa sintassi
<ResponseField><ParamField>Nome diverso
<Snippet>Import da /snippets/Approccio diverso

Problemi comuni

jamdesk migrate rinomina CardGroup in Columns in ogni file MDX. La prop cols viene mantenuta invariata. Controlla i file che hai modificato dopo aver eseguito la migrazione.

Rinomina <ResponseField> in <ParamField>. Le prop restano le stesse.

{/* Before */}
<ResponseField name="id" type="string" required>
  The unique identifier
</ResponseField>

{/* After */}
<ParamField name="id" type="string" required>
  The unique identifier
</ParamField>

Jamdesk risolve solo gli import /snippets/* relativi alla radice. I progetti Mintlify spesso conservano i file snippet MDX in qualsiasi punto dell'albero e li importano con percorsi relativi al genitore (import X from '../shared/x.mdx').

jamdesk migrate risolve questo problema:

  • Sposta in /snippets/ i file MDX importati come snippet ma che si trovano al di fuori di /snippets/. Mantiene il loro percorso relativo, così gli snippet con prefisso di locale come de/foo.mdx non entrano in conflitto.
  • Riscrive ogni import di snippet relativo al genitore in ogni file MDX con il nuovo percorso relativo alla radice.
  • Estrae qualsiasi componente inline che usa React hook in un file 'use client' in /snippets/<name>.tsx e sostituisce l'export inline con un import da /snippets/.

Sostituisci l'elemento JSX <Snippet file="my-snippet.mdx" /> di Mintlify con un import MDX. La CLI non lo riscrive:

{/* Before (Mintlify) */}
<Snippet file="my-snippet.mdx" />

{/* After (Jamdesk) */}
import MySnippet from '/snippets/my-snippet.mdx'

<MySnippet />

Il relocator si interrompe senza toccare nulla se il progetto non ha una navigazione risolta o se gli spostamenti pianificati superano max(5, 25%) di tutti i file MDX. Stampa il motivo. Correggilo e riesegui.

topbarLinks e topbarCtaButton di Mintlify corrispondono a navbar.links in docs.json. Il campo name diventa label. Il campo url diventa href.

Checklist post-migrazione

Tutte le pagine vengono visualizzate senza errori
La struttura di navigazione corrisponde al tuo sito originale
I link interni funzionano correttamente
Immagini e risorse vengono visualizzate correttamente
I blocchi di codice hanno l'evidenziazione della sintassi corretta
La ricerca indicizza i tuoi contenuti

Quali sono i prossimi passaggi?

Struttura delle directory

Scopri come organizzare la tua documentazione

Riferimento docs.json

Configura le impostazioni del tuo sito