Jamdesk Documentation logo

Guia de migração

Migrando de outra plataforma de documentação? O Jamdesk pode automatizar a transição, ou você pode migrar manualmente para ter controle total.

Os projetos do Mintlify têm um caminho de um comando: jamdesk migratemint.json, grava docs.json e reescreve seu MDX diretamente. Está migrando do GitBook, Docusaurus, ReadMe, Confluence ou de outro lugar? A aba "Other Platforms" apresenta as etapas manuais. Elas são curtas se você conseguir exportar seu conteúdo como Markdown.

Exporte primeiro como Markdown, se possível. O Jamdesk é baseado em MDX, portanto qualquer conteúdo que já esteja em Markdown pode ser incluído apenas renomeando a extensão para .mdx e adicionando algumas linhas de frontmatter.

Escolha seu caminho

A CLI faz a maior parte do trabalho para você.

Guia do Mintlify para o Jamdesk

Leia o guia passo a passo da migração, com contexto, exemplos e dicas.

Migração automatizada

1
Instale a CLI
npm install -g jamdesk
2
Execute a migração
jamdesk migrate

Na raiz do projeto, isso é executado de uma só vez:

  • mint.json e grava docs.json
  • Renomeia componentes obsoletos nos arquivos MDX (por exemplo, CardGroupColumns)
  • Move arquivos MDX de snippets órfãos para /snippets/ e reescreve todas as importações relativas ao diretório pai (../foo/bar.mdx) para importações relativas à raiz (/snippets/foo/bar.mdx)
  • Extrai componentes inline que usam hooks do React para /snippets/<name>.tsx com a diretiva 'use client' e reescreve o MDX original para importar de /snippets/
  • Corrige automaticamente problemas mecânicos de sintaxe MDX que causariam falha no build

O comando é idempotente: execute-o novamente após fazer edições, e ele processará apenas o que for novo. Tudo o que não puder tratar automaticamente com segurança será exibido como um aviso, com o arquivo, a importação e a ação a realizar.

3
Revise e ajuste

Verifique os arquivos docs.json e MDX gerados. Confirme a estrutura de navegação e todos os avisos exibidos pela CLI.

Mapeamento de configuração

A CLI converte mint.json para docs.json automaticamente. Estas são as principais diferenças para que você possa verificar o resultado.

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"] }
    ]
  }
}

Compatibilidade de componentes

A maioria dos componentes do Mintlify tem equivalentes diretos no Jamdesk. Alguns têm nomes ou sintaxe diferentes.

Componente do MintlifyEquivalente no JamdeskObservações
<Card><Card>Mesma sintaxe
CardGroup<Columns>Use a prop cols para definir o número de colunas
<Columns><Columns>Mesma sintaxe
<Accordion><Accordion>Mesma sintaxe
<Tabs> / <Tab><Tabs> / <Tab>Mesma sintaxe
<Steps> / <Step><Steps> / <Step>Mesma sintaxe
<CodeGroup><CodeGroup>Mesma sintaxe
<Tip>, <Note>, <Warning><Tip>, <Note>, <Warning>Mesma sintaxe
<ResponseField><ParamField>Nome diferente
<Snippet>Importar de /snippets/Abordagem diferente

Problemas comuns

jamdesk migrate renomeia CardGroup para Columns em todos os arquivos MDX. A prop cols é mantida sem alterações. Verifique todos os arquivos que você editou após executar a migração.

Renomeie <ResponseField> para <ParamField>. As props permanecem iguais.

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

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

O Jamdesk resolve apenas importações raiz-relativas de /snippets/*. Os projetos do Mintlify geralmente mantêm arquivos MDX de snippets em qualquer lugar da árvore e os importam usando caminhos relativos ao diretório pai (import X from '../shared/x.mdx').

jamdesk migrate faz três coisas aqui em uma única execução:

  • Detecta arquivos MDX importados como snippets, mas localizados fora de /snippets/, e move-os para /snippets/, preservando o caminho relativo (assim, snippets com prefixo de localidade, como de/foo.mdx, não entram em conflito).
  • Reescreve todas as importações de snippets relativas ao diretório pai em todos os arquivos MDX para o novo caminho relativo à raiz.
  • Extrai qualquer componente inline que use hooks do React para um arquivo 'use client' em /snippets/<name>.tsx e substitui a exportação inline por uma importação de /snippets/.

Se você usou o elemento JSX <Snippet file="my-snippet.mdx" /> do Mintlify, substitua-o por uma importação MDX. Esse elemento não é reescrito automaticamente:

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

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

<MySnippet />

O relocador é conservador. Se o projeto não tiver uma navegação resolvida ou se as movimentações planejadas excederem max(5, 25%) de todos os arquivos MDX, ele será interrompido sem alterar nada e informará o motivo. Execute-o novamente depois de corrigir o motivo da interrupção.

topbarLinks e topbarCtaButton do Mintlify são mapeados para navbar.links em docs.json. O campo name se torna label, e url se torna href.

Checklist pós-migração

Todas as páginas são renderizadas sem erros
A estrutura de navegação corresponde à do site original
Os links internos funcionam corretamente
As imagens e os assets são exibidos corretamente
Os blocos de código usam o realce de sintaxe correto
A pesquisa indexa seu conteúdo

O que vem a seguir?

Estrutura de diretórios

Saiba como organizar sua documentação

Referência de docs.json

Configure as definições do seu site