Saltar al contenido
duxt

Configuración

Cada clave bajo duxt en app.config.ts — qué controla y cuándo se lee.

Todo lo de abajo vive bajo duxt en tu app/app.config.ts. Cómo funciona la combinación, y por qué los arrays reemplazan en lugar de añadirse, está en Configuración.

Sitio

ClavePor defectoQué controla
titleningunoEl nombre en la barra de navegación y en el título SEO
logoningunoUn logotipo en lugar del par de icono y nombre — ver abajo
versionningunaEl distintivo junto a él
organizationningunaQuién publica el sitio, para schema.org — ver abajo
localeslos sieteQué idiomas de la capa sirve este sitio
breadcrumbtruefalse quita el rastro sobre el título de la página
pageIconningunoIcono para páginas sin uno propio — el de la sección gana
packageManagerspnpm, npm, yarn, bunQué gestores ofrece un bloque de comando, en ese orden
requestSamplessiete de doceQué muestras de código ofrece el cliente de pruebas — ver Muestras de peticiones
sampleLanguagesningunaGramáticas de Shiki extra, para x-codeSamples en un lenguaje que ninguna muestra nombra
poweredByactivadofalse quita la línea «Powered by duxt» del pie
CampoTipoNotas
srcstringLa marca. Sin valor queda el icono genérico junto a title
srcDarkstringSe intercambia por CSS bajo la clase dark, no por script
alttextoRecae en title

Definir uno es Dale identidad a tu sitio.

organization

El nodo Organization que los buscadores y los resúmenes de IA leen para nombrar una fuente. Ausente hasta que lo definas: duxt renderiza la documentación de otros y no adivina de quién.

CampoTipoNotas
nametextoEl nombre de quien publica. Sin él no se publica nada
urlstringSu sitio. Recurre a site.url
logostringAbsoluto, o una ruta desde la raíz; cuadrado y de 112px o más

Una entrada de sección es un enlace más un campo propio:

CampoTipoNotas
pageIconstringIcono para las páginas de esta sección que no definen uno. Prevalece sobre duxt.pageIcon; el frontmatter de una página sigue ganando

Útil donde las páginas no pueden llevar icono — el frontmatter de un ADR está fijado en title, description, status y date, así que el registro de decisiones se representaría sin ninguno.

ClavePor defectoQué controla
navigationuna entradaEnlaces de la barra; una entrada con children es un desplegable
sectionsvacíoLa segunda fila de la barra — las partes de primer nivel
linksvacíoEnlaces de icono a la derecha de la barra
asidesolo el títulotitle y links bajo la tabla de contenidos
footervacíocopyright y legal
landinguna acciónLa página en /

La mayoría se entregan vacíos, por dos razones distintas. links, aside.links, footer.legal, title, version y el texto de la página de inicio nombran un proyecto concreto — un repositorio, una comunidad, un aviso legal, un nombre, una publicación, una frase sobre lo que hace — y pertenecen a quien gestiona el sitio. sections nombra las partes de un árbol de documentación, y el árbol es tuyo: cuatro pestañas apuntando a nombres de carpeta que la capa hubiera adivinado no llevarían a ninguna parte. Defínelo cuando tu documentación tenga secciones; hasta entonces la fila no se representa y la barra lateral muestra el árbol completo, que es la forma correcta para una documentación sin secciones.

Una fila por fuente. Una entrada pertenece a la fuente bajo cuyo prefijo de URL se encuentra, y la fila muestra las entradas de la fuente en la que está el lector — así, un sitio con la documentación en la raíz y otra cosa en /demo escribe una sola lista sections y cada área dibuja su parte de ella. Una sección generada bajo un área (/demo/api) pertenece a esa área en lugar de ser un área propia. Un sitio con una sola fuente tiene un área, cada entrada está dentro, y la fila es exactamente la lista tal como se escribió.

La página de inicio

La página en / dibuja tres bandas, y cada una está ausente hasta que se define su clave.

ClavePor defectoQué dibuja
badgeningunoLa píldora sobre el titular — texto, o un objeto badge
headlineningunoEl h1; recae en title
descriptionningunaEl párrafo bajo él, y la meta descripción de la página
actionsuna, «Lee la documentación»Los botones del bloque principal; una acción sin to resuelve a la primera sección
commandningunoUn comando de instalación copiable bajo los botones
previewningunoUna página de este sitio, incrustada en una ventana de navegador
featuresvacíoLa rejilla de tarjetas

command es una string simple, no texto: un comando de shell es igual en todos los idiomas, y uno traducido por error es uno que no se ejecuta. La capa no entrega ninguno — no sabe cómo se llama tu proyecto, por la misma razón por la que links está vacío.

No hay llamada a la acción final, deliberadamente. Los botones del bloque principal son la llamada; repetirlos bajo una rejilla de tarjetas exige a un lector recién llegado decidir dos veces.

badge se entrega vacío por la misma razón que links: una píldora sobre el titular dice algo del estado de un proyecto — «beta», «v2 ya está» — y la capa no sabe nada del estado del tuyo. Una cadena es la forma corta; el objeto añade icono, color y destino.

Campo de badgeTipoNotas
labeltextoObligatorio. {version} se sustituye por la version del sitio
iconstringCualquier nombre de Iconify
variantstringdefault, secondary, outline, success, destructive
tostringConvierte toda la píldora en un enlace
externalbooleanLa pestaña nueva
badge: {
  label: '{version} publicada',
  icon: 'lucide:rocket',
  variant: 'success',
  to: 'https://github.com/acme/sdk/releases/latest',
  external: true
}

preview es una ventana viva, no una imagen. Incrusta una página de este sitio en un marco de navegador que el lector puede desplazar, navegar y cuyo tema puede cambiar sin salir de la página de inicio. El marco se monta solo cuando la banda entra en el viewport, y nunca durante el renderizado en servidor — un iframe en el HTML inicial es una segunda carga completa compitiendo con la primera.

Campo de previewTipoNotas
tostringLa página a incrustar; por defecto, la primera sección
heightstringCualquier longitud CSS. Por defecto 32rem, 24rem bajo sm
srcstringUna captura EN LUGAR de la página viva
srcDarkstringSirve el modo oscuro; sin él, src sirve ambos
alttextoEl texto alternativo y el nombre accesible del marco

Forma de un enlace

CampoTipoNotas
labeltextoObligatorio
tostringUna ruta de documentación se localiza; una URL no
iconstringCualquier nombre de Iconify, p. ej. lucide:rocket
descriptiontextoSe muestra en un desplegable de la barra
externalbooleanLa pestaña nueva y la flecha — nunca el enrutado
childrenDuxtLink[]Convierte una entrada de barra en un desplegable
variantvariante de botónSolo landing.actions

Todo campo marcado como texto admite un literal, una clave i18n o un registro por locale — véase Localización.

Fuentes

ClaveSe lee enQué controla
sourcestiempo de compilaciónLas fuentes de documentación
sourceOptionstiempo de compilaciónCómo esas fuentes se convierten en prefijos
versionsejecuciónSobrescribe las versiones derivadas cuando necesitan etiquetas o descripciones

Ambas claves de fuente tienen su propia página. locales es la tercera clave de compilación: cambiar cualquiera de las tres exige recompilar.

El feed

/rss.xml está vacío hasta que feed.path nombra una sección:

feed: { path: '/changelog', title: 'mi proyecto — publicaciones' }

Desactivado por defecto a propósito. Un feed es una lista de cosas que han pasado, y una página de referencia editada no es un acontecimiento — un sitio que publica cada edición como elemento enseña a sus lectores a darse de baja. Los elementos se ordenan por el date propio de la página, recurriendo al último commit que la tocó, y solo la versión predeterminada de cada fuente contribuye, de modo que un changelog versionado no repite cada entrada una vez por versión.

La sección a la que suele apuntar es un historial de versiones, cuyas páginas llevan cada una su date.

Generado, no escrito

ClaveEscrito porContiene
resolvedSourcesla compilaciónEl manifiesto: qué colección sirve qué prefijo
layerVersionla compilaciónLa versión de duxt, para el pie
layerRepositoryla compilaciónEl repositorio de duxt, para el pie

Definir cualquiera de los tres a mano se sobrescribe en la siguiente compilación.

¿Le ha resultado útil esta página?