Configuración general
El archivo docmd.config.json sirve como manifiesto central de configuración para su espacio de trabajo de documentación. Gestiona la marca del sitio, las barras laterales de navegación, los parámetros de localización y las opciones del compilador del sitio estático.
Formatos del esquema de configuración
docmd admite docmd.config.jsonc y docmd.config.json. Ambos formatos admiten comentarios de una sola línea (//), comentarios multilínea (/* */) y comas finales (trailing commas):
{
// Marca del sitio y dirección canónica
"title": "Mi Documentación Técnica",
"url": "https://docs.ejemplo.com",
/* Directorios de origen y salida de compilación */
"src": "docs",
"out": "site",
"base": "/",
}
Para configuraciones dinámicas que requieren variables de entorno o lógica programática, docmd.config.ts y docmd.config.js son totalmente compatibles:
import { UserConfig } from '@docmd/api';
const config: UserConfig = {
title: process.env.DOCS_TITLE || 'Mi Documentación Técnica',
src: 'docs',
out: 'site'
};
export default config;
module.exports = {
title: process.env.DOCS_TITLE || 'Mi Documentación Técnica',
src: 'docs',
out: 'site'
};
Ajustes principales
Estas propiedades de nivel superior configuran las rutas base y las opciones globales del compilador:
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
title |
String |
"Documentation" |
Título formal del sitio mostrado en los encabezados de navegación y pestañas del navegador. |
url |
String |
"" |
URL canónica del sitio. Esencial para la optimización en motores de búsqueda, generación de mapas del sitio y metadatos OpenGraph. |
src |
String |
"docs" |
Directorio relativo que contiene los archivos Markdown (.md) de origen. |
out |
String |
"site" |
Ruta relativa donde el compilador genera el paquete estático de producción. |
base |
String |
"/" |
Prefijo de ruta URL raíz (por ejemplo, /docs/ cuando se aloja en una subcarpeta). |
tmp |
String |
null |
Directorio temporal de caché de compilación. Por defecto es una carpeta temporal aislada del sistema. |
engine |
String |
"js" |
Motor de procesamiento: "js" (motor predeterminado en JavaScript puro) o "rust" (acelerador nativo mediante @docmd/engine-rust). |
i18n |
Object |
null |
Parámetros multilingües. Consulte la Guía de localización. |
plugins |
Object |
{} |
Mapa de configuración de plugins estándar y de terceros. Consulte la Guía de plugins. |
docmd conserva el 100% de compatibilidad con versiones anteriores para manifiestos de configuración más antiguos:
- Las claves raíz heredadas (
siteTitle,siteUrl,srcDir,outputDir) se asignan sin problemas a las modernas (title,url,src,out). customJsycustomCssse asignan atheme.customJsytheme.customCss.htmlPolicyse asigna asecurity.html.focusModeyprinten la raíz se asignan alayout.focusModeylayout.print.
Marca e identidad
Configure logotipos de marca, favicons del navegador y hojas de estilo o scripts de cliente:
{
"logo": {
"light": "assets/images/logo-dark.png",
"dark": "assets/images/logo-light.png",
"href": "/",
"alt": "Logotipo de la Empresa",
"height": "32px"
},
"favicon": "assets/favicon.ico",
"theme": {
"name": "default",
"appearance": "system",
"customCss": [
"/assets/css/branding.css"
],
"customJs": [
"/assets/js/feedback.js"
]
}
}
Diseño y comportamiento de la interfaz
Configure encabezados, barras laterales, ubicación de búsqueda, conmutadores de tema y herramientas de lectura:
{
"layout": {
"spa": true,
"header": {
"enabled": true
},
"sidebar": {
"collapsible": true,
"defaultCollapsed": false
},
"optionsMenu": {
"position": "header",
"components": {
"search": true,
"themeSwitch": true
}
},
"focusMode": false,
"print": false,
"copyCode": true,
"pageNavigation": true,
"copyWidgets": {
"enabled": true,
"raw": true,
"context": true
}
}
}
Consulte la guía de Diseño y zonas de la interfaz para conocer las opciones completas de personalización visual.
Contenido y políticas de seguridad
Ajuste cómo docmd analiza Markdown y aplica las políticas de seguridad HTML:
{
"minify": true,
"autoTitleFromH1": true,
"markdown": {
"breaks": true,
"linkify": true,
"typographer": true,
"linkifyDefaultScheme": "https"
},
"security": {
"html": "allow"
}
}
| Opción | Tipo | Predeterminado | Descripción |
|---|---|---|---|
minify |
Boolean |
true |
Minimiza recursos HTML, CSS y JS compilados para un rendimiento de carga máximo. |
autoTitleFromH1 |
Boolean |
true |
Utiliza el primer encabezado # H1 del documento como título cuando se omite el title en el frontmatter. |
markdown.breaks |
Boolean |
true |
Convierte saltos de línea suaves en saltos de línea. Establezca en false si ajusta el texto manualmente a 80 columnas. |
markdown.linkify |
Boolean |
true |
Convierte automáticamente texto URL y dominios simples en enlaces interactivos. Establezca en false para desactivar. |
markdown.typographer |
Boolean |
true |
Habilita el reemplazo tipográfico de comillas, guiones y símbolos. Establezca en false para mantener el texto exacto. |
markdown.linkifyDefaultScheme |
String |
"https" |
Esquema URL antepuesto a los dominios simples con autoenlace (p.ej. github.com → https://github.com). Use "http" solo para entornos internos o heredados sin HTTPS. |
security.html |
String |
"allow" |
Modo de saneamiento HTML: "allow", "escape" o "strip". Consulte la Guía de seguridad. |
layout.copyCode |
Boolean |
true |
Renderiza un botón “Copiar código” en los bloques de código con resaltado de sintaxis. |
layout.pageNavigation |
Boolean |
true |
Renderiza enlaces de navegación de página “Anterior” y “Siguiente” en la parte inferior de los artículos. |
layout.focusMode |
Boolean |
false |
Habilita el modo de lectura sin distracciones con atajos de teclado (Alt+F). |
layout.print |
Boolean |
false |
Habilita el botón de impresión en la fila de acciones del artículo y en la barra de herramientas de enfoque. |
La configuración independiente de editLink se ha unificado en el plugin de Git nativo. Muestra enlaces de edición, marcas de tiempo de confirmación y metadatos de colaboradores.