El plugin @docmd/plugin-pwa convierte su sitio de documentación en una Aplicación Web Progresiva (PWA) instalable. Genera el manifiesto estándar del W3C (manifest.webmanifest) y registra un service worker para almacenar en caché los contenidos y posibilitar la instalación en dispositivos móviles y de escritorio.

Opciones de configuración

Configure las propiedades de la PWA en docmd.config.json:

Opción Tipo Por defecto Descripción técnica
enabled boolean true Habilita o deshabilita la generación del manifiesto y el service worker.
themeColor string '#1e293b' Color del encabezado y la interfaz del navegador.
bgColor string '#ffffff' Color de fondo de la pantalla de bienvenida durante la instalación.
logo string null Ruta al icono de la aplicación (relativa a la raíz de la documentación).

Ejemplo de configuración global

docmd.config.json
{
  "plugins": {
    "pwa": {
      "themeColor": "#1e293b",
      "bgColor": "#ffffff",
      "logo": "assets/app-icon.png"
    }
  }
}

Capacidades principales

  • Service Worker sin conexión: Implementa una estrategia de almacenamiento stale-while-revalidate. Las páginas se cargan al instante desde la caché local mientras se valida la conexión a la red en segundo plano.
  • Instalación en pantalla de inicio: Genera los metadatos necesarios para que los usuarios puedan anclar la documentación en iOS, Android, macOS y Windows.
  • Redimensionamiento de iconos: Genera automáticamente los tamaños requeridos para la PWA (192x192, 512x512) a partir de la imagen corporativa del sitio.

Prioridad en la resolución del icono

El plugin busca el icono evaluando las siguientes propiedades de arriba hacia abajo:

  1. plugins.pwa.icons — Matriz explícita de iconos definida en la configuración.
  2. plugins.pwa.logo — Ruta de icono específica del plugin.
  3. config.logo — Ruta del logotipo global del sitio.
  4. config.favicon — Ruta del favicon global del sitio.
Pruebas de funcionamiento sin conexión

El registro del service worker se desactiva durante el desarrollo local (npx @docmd/core dev) para evitar que los recursos en caché interfieran con la edición en vivo. Para probar la PWA, compile el sitio (npx @docmd/core build) y sirva la carpeta de salida (site/) bajo HTTPS o en localhost.