1.0.3-beta • Published 4 months ago

@cognima/banners v1.0.3-beta

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

@cognima/banners

NPM Version License

Biblioteca avançada para geração de banners dinâmicos para diversas plataformas e aplicações.

Sobre

O módulo @cognima/banners é uma biblioteca completa para criação de banners personalizados para diversas plataformas, incluindo Discord, WhatsApp, Instagram, YouTube, Twitter, Facebook, LinkedIn e muito mais. Com uma ampla variedade de estilos e opções de personalização, esta biblioteca permite criar banners visualmente atraentes com facilidade.

Desenvolvido pela Cognima Team e aprimorado com novas funcionalidades, este módulo oferece uma solução robusta para todas as suas necessidades de criação de banners.

Características

  • Múltiplos Estilos de Banners: Suporte para diversos tipos de banners para diferentes plataformas
  • Alta Personalização: Amplas opções de personalização para cada tipo de banner
  • Processamento Avançado de Imagens: Filtros, efeitos e manipulações de imagem
  • Otimização de Performance: Cache, carregamento assíncrono e processamento em lote
  • Validação Robusta: Validação completa de parâmetros para evitar erros
  • Tratamento de Erros: Sistema avançado de tratamento e registro de erros
  • Testes Automatizados: Ferramentas para testar e validar os banners gerados
  • Documentação Detalhada: Documentação completa com exemplos para todos os tipos de banners

Instalação

npm install @cognima/banners

ou

yarn add @cognima/banners

Uso Básico

const banners = require('@cognima/banners');

// Criar um banner de boas-vindas
const welcomeBanner = await banners.createWelcomeBanner({
  username: 'JohnDoe',
  avatarURL: 'https://example.com/avatar.png',
  message: 'Bem-vindo ao servidor!',
  theme: 'dark'
});

// Salvar o banner
await banners.saveImage(welcomeBanner, './welcome-banner.png');

Tipos de Banners

Banners de Boas-vindas e Saída

  • Welcome Standard: Banner padrão de boas-vindas
  • Welcome Gradient: Banner de boas-vindas com gradiente
  • Welcome Modern: Banner de boas-vindas com design moderno
  • Leave Standard: Banner padrão de saída
  • Leave Gradient: Banner de saída com gradiente

Banners de Perfil

  • Discord Profile: Banner de perfil do Discord com suporte a banner de fundo
  • Modern Profile: Banner de perfil com design moderno
  • Minimalist Profile: Banner de perfil com design minimalista

Banners de Redes Sociais

  • Instagram Post: Banner para posts do Instagram
  • WhatsApp Status: Banner para status do WhatsApp
  • Facebook Post: Banner para posts do Facebook
  • Twitter Header: Banner para cabeçalho do Twitter
  • LinkedIn Post: Banner para posts do LinkedIn
  • TikTok Post: Banner para posts do TikTok
  • YouTube Thumbnail: Thumbnails para vídeos do YouTube

Banners de Utilidade

  • Event Banner: Banner para eventos
  • Announcement Banner: Banner para anúncios
  • Promotion Banner: Banner para promoções
  • Quote Banner: Banner para citações

Documentação Detalhada

Para documentação detalhada sobre cada tipo de banner e suas opções, consulte os guias específicos:

Exemplos

Veja exemplos de uso para cada tipo de banner na pasta examples.

API

Métodos Principais

createWelcomeBanner(options)

Cria um banner de boas-vindas.

const banner = await banners.createWelcomeBanner({
  username: 'JohnDoe',
  avatarURL: 'https://example.com/avatar.png',
  message: 'Bem-vindo ao servidor!',
  theme: 'dark',
  style: 'standard' // 'standard', 'gradient', 'modern'
});

createLeaveBanner(options)

Cria um banner de saída.

const banner = await banners.createLeaveBanner({
  username: 'JohnDoe',
  avatarURL: 'https://example.com/avatar.png',
  message: 'Até a próxima!',
  theme: 'dark',
  style: 'standard' // 'standard', 'gradient'
});

createDiscordProfile(options)

Cria um banner de perfil do Discord.

const banner = await banners.createDiscordProfile({
  username: 'JohnDoe',
  avatarURL: 'https://example.com/avatar.png',
  bannerURL: 'https://example.com/banner.png',
  status: 'online', // 'online', 'idle', 'dnd', 'offline'
  badges: ['nitro', 'boost'],
  theme: 'dark'
});

createInstagramPost(options)

Cria um banner para post do Instagram.

const banner = await banners.createInstagramPost({
  username: 'johndoe',
  avatarURL: 'https://example.com/avatar.png',
  imageURL: 'https://example.com/image.png',
  caption: 'Minha foto incrível!',
  likes: 1500,
  comments: 250
});

createYouTubeThumbnail(options)

Cria uma thumbnail para vídeo do YouTube.

const banner = await banners.createYouTubeThumbnail({
  title: 'Meu Vídeo Incrível',
  backgroundURL: 'https://example.com/background.png',
  style: 'standard', // 'standard', 'shorts', 'premium'
  textOverlay: true,
  textColor: '#FFFFFF',
  accentColor: '#FF0000'
});

saveImage(buffer, path)

Salva um banner como imagem.

await banners.saveImage(banner, './banner.png');

Métodos Avançados

applyFilter(buffer, filterName, options)

Aplica um filtro a uma imagem.

const filteredImage = await banners.applyFilter(banner, 'grayscale', { intensity: 0.8 });

applyFilters(buffer, filters)

Aplica múltiplos filtros a uma imagem.

const filteredImage = await banners.applyFilters(banner, [
  { name: 'grayscale', options: { intensity: 0.5 } },
  { name: 'blur', options: { radius: 3 } }
]);

createCustomBanner(options)

Cria um banner personalizado com configurações avançadas.

const banner = await banners.createCustomBanner({
  width: 1200,
  height: 628,
  backgroundColor: '#1E1E1E',
  elements: [
    {
      type: 'image',
      source: 'https://example.com/image.png',
      x: 50,
      y: 50,
      width: 200,
      height: 200
    },
    {
      type: 'text',
      content: 'Meu Banner Personalizado',
      x: 300,
      y: 150,
      fontSize: 48,
      fontColor: '#FFFFFF'
    }
  ]
});

Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.

Licença

Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para detalhes.

Créditos

Desenvolvido pela Cognima Team.