Skip to main content

Crear un generador de guías de estilo de marca con Firecrawl

Genera guías de estilo de marca profesionales en PDF extrayendo sistemas de diseño de cualquier sitio web usando el formato de branding de Firecrawl
5 min read

Crea un generador de guías de estilo de marca que extrae automáticamente colores, tipografía, espaciado e identidad visual de cualquier sitio web y los compila en un documento PDF profesional.

Generador de PDF de guía de estilo de marca usando el formato de branding de Firecrawl para extraer el sistema de diseño

Qué vas a construir#

Una aplicación de Node.js que toma la URL de cualquier sitio web, extrae toda su identidad de marca usando el formato de branding de Firecrawl y genera una guía de estilo en PDF profesional con:

  • Paleta de colores con valores hex
  • Sistema de tipografía (fuentes, tamaños, pesos)
  • Especificaciones de espaciado y diseño
  • Logotipo e imágenes de la marca
  • Información del tema (modo claro/oscuro)

Ejemplo de PDF de guía de estilo de marca generado con colores tipografía y espaciado

Requisitos previos#

  • Node.js 18 o superior instalado
  • Una clave de API de Firecrawl de firecrawl.dev
  • Conocimientos básicos de TypeScript y Node.js

Crear un nuevo proyecto Node.js

Empieza por crear un nuevo directorio para tu proyecto e inicializarlo:

Actualiza tu package.json para utilizar módulos ES:

package.json

Instalar las dependencias

Instala los paquetes necesarios para el scraping web y la generación de PDFs:

Estos paquetes proporcionan:

  • firecrawl: SDK de Firecrawl para extraer la identidad de marca de sitios web
  • pdfkit: librería para la generación de documentos PDF
  • tsx: ejecución de TypeScript para Node.js

Crea el generador de guías de estilo de la marca

Crea el archivo principal de la aplicación en index.ts. Este script extrae la identidad de marca a partir de una URL y genera una guía de estilo profesional en PDF.

index.ts
Info

Para este proyecto sencillo, la clave de la API se coloca directamente en el código. Si piensas subir esto a GitHub o compartirlo con otras personas, mueve la clave a un archivo .env y usa process.env.FIRECRAWL_API_KEY en su lugar.

Reemplaza fc-YOUR-API-KEY con tu clave de la API de Firecrawl de firecrawl.dev.

Comprender el código#

Componentes clave:

  • Formato de branding de Firecrawl: El formato branding extrae una identidad de marca completa, incluida la paleta de colores, la tipografía, el espaciado y las imágenes
  • Documento PDFKit: Crea un PDF A4 profesional con márgenes y secciones adecuados
  • Muestras de color: Muestra bloques de color con valores hexadecimales y nombres semánticos
  • Visualización de tipografía: Muestra familias tipográficas y tamaños en un diseño organizado
  • Espaciado y tema: Documenta las unidades de espaciado y la paleta de colores del sistema de diseño

Ejecutar el generador

Ejecuta el script para generar una guía de estilo de la marca:

El script hará lo siguiente:

  1. Extraer la identidad de marca de la URL de destino usando el formato de marca de Firecrawl
  2. Generar un PDF llamado brand-style-guide.pdf
  3. Guardarlo en el directorio de tu proyecto

Para generar una guía de estilo para un sitio web diferente, simplemente cambia la constante URL en index.ts.

Cómo funciona#

Proceso de extracción#

  1. Entrada de URL: El generador recibe la URL de un sitio web de destino
  2. Firecrawl Scrape: Llama al endpoint /scrape con el formato branding
  3. Análisis de marca: Firecrawl analiza el CSS, las fuentes y los elementos visuales de la página
  4. Retorno de datos: Devuelve un objeto BrandingProfile estructurado con todos los tokens de diseño

Proceso de generación de PDF#

  1. Creación del encabezado: Genera un encabezado de color usando el color principal de la marca
  2. Obtención del logotipo: Descarga e inserta el logotipo o favicon si está disponible
  3. Paleta de colores: Muestra cada color como una muestra visual con metadatos
  4. Sección de tipografía: Documenta familias tipográficas, tamaños y grosores
  5. Información de espaciado: Incluye unidades base, radio de los bordes y modo del tema

Estructura del perfil de branding#

El formato de branding devuelve información detallada de la marca:

Características clave#

Extracción Automática de Colores#

El generador identifica y clasifica todos los colores de la marca:

  • Primarios y Secundarios: Colores principales de la marca
  • Acento: Colores de énfasis y de llamado a la acción (CTA)
  • Fondo y Texto: Colores base de la interfaz
  • Colores Semánticos: Estados de éxito, advertencia y error

Documentación sobre tipografía#

Recoge el sistema tipográfico completo:

  • Familias tipográficas: Fuentes primarias, para encabezados y monoespaciadas
  • Escala de tamaños: Todos los tamaños de texto de encabezado y cuerpo
  • Pesos tipográficos: Variaciones de grosor disponibles

Salida visual#

El PDF incluye:

  • Encabezado con colores de la marca
  • Logotipo integrado cuando esté disponible
  • Diseño profesional con jerarquía clara
  • Pie de página con metadatos y fecha de generación

Comparación en paralelo del sitio web original y el PDF de la guía de estilo de marca generado

Ideas de personalización#

Agregar documentación de componentes#

Extiende el generador para incluir estilos de componentes de interfaz de usuario:

Exportar en varios formatos#

Añade exportación en JSON además del PDF:

Procesamiento por lotes#

Genera guías para varios sitios web:

Temas personalizados de PDF#

Crea diferentes estilos de PDF a partir del tema extraído:

Mejores prácticas#

  1. Gestionar datos faltantes: No todos los sitios web exponen información de marca completa. Proporciona siempre valores de reserva para las propiedades faltantes.

  2. Respetar los límites de tasa: Al procesar por lotes varios sitios, añade pausas entre solicitudes para respetar los límites de tasa de Firecrawl.

  3. Almacenar resultados en caché: Guarda los datos de marca extraídos para evitar llamadas repetidas a la API para el mismo sitio.

  4. Gestión del formato de imagen: Algunos logotipos pueden estar en formatos que PDFKit no admite (como SVG). Considera añadir conversión de formato o alternativas de reserva adecuadas.

  5. Gestión de errores: Envuelve el proceso de generación en bloques try-catch y proporciona mensajes de error descriptivos.