Documentação com versões, a partir dos repositórios que já tens
O duxt é uma camada Nuxt: estende-a e a tua pasta docs/ torna-se um site — com tema, pesquisa, referência de API e llms.txt. Aponta-a para outros repositórios, ou para tags do mesmo, e cada um torna-se uma versão.
- linha de configuração
- 1
- idiomas incluídos
- 7
- licenciado, código aberto
- MIT
Demonstração ao vivo
Configuração
Uma linha, e a pasta é um site
O duxt é uma camada Nuxt: estendê-la traz o tema, as páginas, os componentes e os passos da build de uma vez — e deixa tudo substituível.
- Sem gerador e sem nada para ejetar — o teu repositório mantém os seus ficheiros.
- Substitui um componente colocando o teu no mesmo caminho.
- Compila para um site estático — publica onde o Nuxt for.
export default defineNuxtConfig({
extends: ['@kirchdev/duxt']
})
Fontes
Vários repositórios, várias versões, uma lista
Uma fonte é um repositório e as refs a publicar dele. O duxt transforma a lista numa coleção por versão e repositório, e nos prefixos de URL que as separam — decididos na build.
- Clonagem, autenticação de repositórios privados e cache vêm do próprio Content v3.
- Uma fonte única não precisa de prefixo — um segmento com um só valor não distingue nada.
- O seletor permanece na página que está a ler, e avisa quando ela não existe lá.
sources: [
// The repository you are standing in.
{ path: 'docs' },
// Another one, at three of its tags.
{
repo: 'acme/api',
path: 'docs',
refs: [
{ branch: 'main', status: 'upcoming' },
{ tag: 'v2.0.0' },
{ tag: 'v1.4.0', status: 'eol' }
]
}
],
sourceOptions: { defaultRef: 'v2.0.0' }
Referência da API
Um documento OpenAPI, publicado como páginas
Aponta uma fonte para o ficheiro e o duxt constrói uma visão geral, uma página por tag e uma por operação — com os esquemas expandidos, a segurança nomeada e os exemplos derivados. São uma coleção normal, e é esse o objetivo.
- A pesquisa encontra-as, o llms.txt lista-as, o sitemap transporta-as.
- Versionada como a prosa: o seletor alterna entre duas versões do mesmo endpoint.
- Ao lado do teu Markdown — uma página de operação pode ter prosa própria.
Experimentar
Um cliente que envia o pedido real
Cada página de operação traz um cliente. Preenche os parâmetros, edita o corpo contra o seu esquema, envia a partir do teu browser — e lê a resposta ao lado do exemplo que a teria produzido.
- Sete exemplos de origem, doze incluídos, ou um teu — reescritos enquanto escreves.
- O editor do corpo é CodeMirror, carregado a pedido: uma página sem endpoint não descarrega nada dele.
- O teu token fica no teu browser — aqui não há servidor a quem enviá-lo.
Enviar um pedido
Na tua stack
O mesmo pedido, na tua linguagem
Não um exemplo de um pedido como o de cima — esse pedido. O servidor que escolheste, o token que escreveste e o corpo que editaste, reescritos a cada tecla para o cliente onde o vais colar.
- Um só componente: o exemplo e o botão não podem divergir.
- Acrescenta os teus com `requestSamples`, ou tira os que os teus leitores não usam.
Exemplo de pedido
curl '/demo/echo' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer demo-token' \
-d '{
"reference": "HB-1042",
"mode": "sea"
}'Leitores automáticos
Escrita também para o modelo que a lê
O mesmo conteúdo, publicado uma segunda vez nas formas que uma máquina lê: um índice em llms.txt, o site inteiro em llms-full.txt, cada página como o seu próprio Markdown e uma rota MCP que um assistente pode pesquisar.
- Saída da build, não um serviço em execução — os ficheiros estão no CDN com as páginas.
- Cada página tem um «copiar como Markdown» e uma ligação que a abre num assistente.
- A rota MCP serve as mesmas coleções que o site consulta — uma fonte, dois leitores.
Funcionalidades
Estender, não gerar
Uma linha de configuração traz tema, páginas e componentes — qualquer ficheiro pode ser substituído.
Fontes como uma lista
Uma declaração por fonte em vez de uma coleção por versão e repositório.
Versões comutáveis
Uma tag torna-se uma versão, e o seletor permanece na página que está a ler.
Localizado de origem
A interface está traduzida; as suas páginas levam prefixo de idioma e hreflang.
Nativo de Git, não reinventado
Ramos, tags, repositórios privados e cache vêm do próprio Content v3.
shadcn-vue
Os componentes são copiados, não importados. Redesenhar um é editar um ficheiro.
Componentes em Markdown
O MDC vem com o Content — chame um componente Vue com sintaxe de bloco.
Legível por máquinas
llms.txt e uma rota MCP sobre o mesmo conteúdo, previstos como saída da build.