Pular para o conteúdo principal
Crie um gerador de guia de estilo de marca que extrai automaticamente cores, tipografia, espaçamentos e identidade visual de qualquer site e compila tudo em um documento PDF profissional. Gerador de PDF de guia de estilo de marca usando o formato de branding do Firecrawl para extrair o sistema de design

O que você vai construir

Uma aplicação Node.js que recebe a URL de qualquer site, extrai toda a identidade de marca usando o formato de branding do Firecrawl e gera um PDF de guia de estilo de marca profissional com:
  • Paleta de cores com valores hex
  • Sistema de tipografia (fontes, tamanhos, pesos)
  • Especificações de espaçamento e layout
  • Logo e imagens de marca
  • Informações de tema (modo claro/escuro)
Exemplo de PDF de guia de estilo de marca gerado com cores, tipografia e espaçamento

Pré-requisitos

  • Node.js 18 ou superior instalado
  • Uma chave de API do Firecrawl obtida em firecrawl.dev
  • Conhecimentos básicos de TypeScript e Node.js
1

Crie um novo projeto Node.js

Primeiro, crie um novo diretório para o seu projeto e inicialize-o:
Atualize seu package.json para usar módulos ES:
package.json
2

Instale as dependências

Instale os pacotes necessários para web scraping e geração de PDFs:
Esses pacotes incluem:
  • firecrawl: SDK do Firecrawl para extrair a identidade de marca de sites
  • pdfkit: biblioteca para geração de documentos PDF
  • tsx: execução de TypeScript para Node.js
3

Criar o gerador do guia de estilo da marca

Crie o arquivo principal da aplicação em index.ts. Esse script extrai a identidade da marca a partir de uma URL e gera um guia de estilo profissional em PDF.
index.ts
Para este projeto simples, a chave de API fica diretamente no código. Se você pretende publicar isso no GitHub ou compartilhar com outras pessoas, mova a chave para um arquivo .env e use process.env.FIRECRAWL_API_KEY em vez disso.
Substitua fc-YOUR-API-KEY pela sua chave de API do Firecrawl obtida em firecrawl.dev.

Entendendo o código

Componentes principais:
  • Firecrawl Branding Format: O formato branding extrai uma identidade de marca completa, incluindo cores, tipografia, espaçamento e imagens
  • Documento PDFKit: Cria um PDF A4 profissional com margens e seções adequadas
  • Amostras de cores: Renderiza blocos visuais de cor com valores hexadecimais e nomes semânticos
  • Exibição de tipografia: Mostra famílias e tamanhos de fontes em um layout organizado
  • Espaçamento & tema: Documenta as unidades de espaçamento e o esquema de cores do sistema de design
4

Executar o gerador

Execute o script para gerar um guia de estilo de marca:
O script vai:
  1. Extrair a identidade da marca da URL de destino usando o formato de branding do Firecrawl
  2. Gerar um PDF chamado brand-style-guide.pdf
  3. Salvá-lo no diretório do projeto
Para gerar um guia de estilo para um site diferente, basta alterar a constante URL em index.ts.

Como funciona

Processo de Extração

  1. Entrada de URL: O gerador recebe a URL do site de destino
  2. Firecrawl Scrape: Chama o endpoint /scrape com o formato branding
  3. Análise de marca: O Firecrawl analisa o CSS, as fontes e os elementos visuais da página
  4. Retorno de dados: Retorna um objeto BrandingProfile estruturado com todos os design tokens

Processo de Geração de PDF

  1. Criação do Cabeçalho: Gera um cabeçalho colorido usando a cor principal da marca
  2. Obtensão do Logotipo: Faz o download e incorpora o logotipo ou favicon, se disponível
  3. Paleta de Cores: Renderiza cada cor como uma amostra visual com metadados
  4. Seção de Tipografia: Documenta famílias de fontes, tamanhos e pesos
  5. Informações de Espaçamento: Inclui unidades base, raio de borda e modo do tema

Estrutura do Perfil de Branding

O formato de branding retorna informações detalhadas sobre a marca:

Principais funcionalidades

Extração Automática de Cores

O gerador identifica e categoriza todas as cores da marca:
  • Primárias e secundárias: Cores principais da marca
  • Destaque (accent): Cores de destaque e de chamada para ação (CTA)
  • Fundo e texto: Cores base da interface
  • Cores semânticas: Estados de sucesso, aviso e erro

Documentação de Tipografia

Abrange todo o sistema tipográfico:
  • Famílias tipográficas: fontes primárias, de títulos e monoespaçadas
  • Escala de tamanhos: todos os tamanhos de texto de títulos e corpo
  • Pesos tipográficos: variações de peso disponíveis

Resultado visual

O PDF inclui:
  • Cabeçalho colorido que corresponde à marca
  • Logotipo inserido quando disponível
  • Layout profissional com hierarquia clara
  • Rodapé com metadados e data de geração
Comparação lado a lado entre o site original e o PDF gerado do guia de estilo da marca

Ideias de customização

Adicionar documentação de componentes

Estenda o gerador para incluir estilos dos componentes de UI:

Exportar em vários formatos

Adicione exportação em JSON além do PDF:

Processamento em lote

Crie guias para vários sites:

Temas de PDF personalizados

Crie diferentes estilos de PDF a partir do tema extraído:

Boas práticas

  1. Trate dados ausentes: Nem todos os sites expõem informações completas de branding. Sempre forneça valores padrão para propriedades ausentes.
  2. Respeite os rate limits: Ao processar vários sites em lote, adicione intervalos entre as requisições para respeitar os rate limits do Firecrawl.
  3. Armazene em cache os resultados: Guarde os dados de branding extraídos para evitar chamadas repetidas à API para o mesmo site.
  4. Tratamento de formatos de imagem: Alguns logos podem estar em formatos que o PDFKit não suporta (como SVG). Considere adicionar conversão de formato ou alternativas adequadas.
  5. Tratamento de erros: Envolva o processo de geração em blocos try-catch e forneça mensagens de erro claras e informativas.

Documentação do formato de branding

Saiba mais sobre o formato de branding e todas as propriedades disponíveis para extração.

API de scrape do Firecrawl

Referência completa da API para o endpoint de scrape com todas as opções de formato.

Documentação do PDFKit

Saiba mais sobre o PDFKit e suas opções avançadas de personalização de PDFs.

Guia de scraping em lote

Processe várias URLs com eficiência usando scraping em lote.