@cognima/banners v1.0.3-beta
@cognima/banners
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:
- Guia de Banners de Boas-vindas e Saída
- Guia de Banners de Perfil
- Guia de Banners de Redes Sociais
- Guia de Banners de Utilidade
- Guia de Processamento de Imagem
- Guia de Otimização de Performance
- Guia de Testes
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.