137 lines
4.7 KiB
Python
Executable File
137 lines
4.7 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""
|
|
Configurações para o conversor de guias MD → DOCX → PDF
|
|
Autor: Descomplicar® - Agência de Aceleração Digital
|
|
"""
|
|
|
|
import os
|
|
from pathlib import Path
|
|
|
|
# Diretórios base
|
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
|
GUIAS_DIR = BASE_DIR / "Guias"
|
|
CAPAS_DIR = BASE_DIR / "Capas Guias de Marketing"
|
|
OUTPUT_DIR = BASE_DIR / "output"
|
|
DOCX_OUTPUT_DIR = OUTPUT_DIR / "docx"
|
|
PDF_OUTPUT_DIR = OUTPUT_DIR / "pdf"
|
|
|
|
# Criar diretórios de saída se não existirem
|
|
OUTPUT_DIR.mkdir(exist_ok=True)
|
|
DOCX_OUTPUT_DIR.mkdir(exist_ok=True)
|
|
PDF_OUTPUT_DIR.mkdir(exist_ok=True)
|
|
|
|
# Configurações do documento
|
|
DOCUMENT_CONFIG = {
|
|
'page_size': 'A4',
|
|
'margins': {
|
|
'top': 2.5, # cm
|
|
'bottom': 2.5, # cm
|
|
'left': 3.0, # cm
|
|
'right': 2.5 # cm
|
|
},
|
|
'font': {
|
|
'name': 'Arial',
|
|
'size': 11
|
|
},
|
|
'heading_fonts': {
|
|
'Heading 1': {'size': 24, 'bold': True, 'color': '#1a1a1a'},
|
|
'Heading 2': {'size': 18, 'bold': True, 'color': '#2a2a2a'},
|
|
'Heading 3': {'size': 14, 'bold': True, 'color': '#3a3a3a'},
|
|
'Heading 4': {'size': 12, 'bold': True, 'color': '#4a4a4a'}
|
|
},
|
|
'paragraph_spacing': {
|
|
'before': 6, # pt
|
|
'after': 6 # pt
|
|
},
|
|
'line_spacing': 1.15
|
|
}
|
|
|
|
# Configurações de estilo da marca
|
|
BRAND_CONFIG = {
|
|
'primary_color': '#FF6B35', # Laranja Descomplicar
|
|
'secondary_color': '#1E3A8A', # Azul escuro
|
|
'text_color': '#333333',
|
|
'accent_color': '#00BFA5', # Verde água
|
|
'footer_text': 'Descomplicar® - Agência de Aceleração Digital | https://descomplicar.pt',
|
|
'header_logo': None # Caminho para logo se disponível
|
|
}
|
|
|
|
# Mapeamento de títulos de guias para nomes de arquivos de capa
|
|
# Usa correspondência parcial - se o título do guia contém a chave, usa a capa correspondente
|
|
COVER_MAPPING = {
|
|
'Marketing Digital': 'Marketing Digital.jpg',
|
|
'SEO': 'SEO.jpg',
|
|
'Google Ads': 'Google Ads.jpg',
|
|
'Facebook Ads': 'Facebook Ads.jpg',
|
|
'Instagram para Negócios': 'Instagram para Negócios.jpg',
|
|
'LinkedIn para Negócios': 'LinkedIn para Negócios.jpg',
|
|
'YouTube para Negócios': 'YouTube para Negócios.jpg',
|
|
'TikTok para Negócios': 'TikTok para Negócios.jpg',
|
|
'Email Marketing': 'Email Marketing.jpg',
|
|
'Marketing de Conteúdo': 'Marketing de Conteúdo.jpg',
|
|
'Automação de Marketing': 'Automação de Marketing.jpg',
|
|
'E-commerce': 'E-commerce.jpg',
|
|
'Copywriting': 'Copywriting para Negócios.jpg',
|
|
'Branding': 'Branding.jpg',
|
|
'CRM': 'CRM.jpg',
|
|
'Análise de Dados': 'Análise de Dados para Negócios.jpg',
|
|
'Growth Hacking': 'Growth Hacking.jpg',
|
|
'Inbound Marketing': 'Inbound Marketing.jpg',
|
|
'Outbound Marketing': 'Outbound Marketing.jpg',
|
|
'Performance Marketing': 'Performance Marketing.jpg',
|
|
'Social Media': 'Social Media.jpg',
|
|
'Gestão de Redes Sociais': 'Gestão de Redes Sociais.jpg',
|
|
'Estratégia Digital': 'Estratégia Digital.jpg',
|
|
'Landing Pages': 'Landing Pages de Alta Conversão.jpg',
|
|
'Google Analytics': 'Google Analytics.jpg',
|
|
'Marketing B2B': 'Marketing B2B.jpg',
|
|
'Marketing Local': 'Marketing Local.jpg',
|
|
'Marketing para Startups': 'Marketing para Startups.jpg',
|
|
'Marketing para Pequenas Empresas': 'Marketing para Pequenas Empresas.jpg',
|
|
'Marketing para E-commerce': 'Marketing para E-commerce.jpg',
|
|
'Storytelling': 'Storytelling para Marcas.jpg',
|
|
'Video Marketing': 'Video Marketing (Além do YouTube).jpg',
|
|
'Podcasting': 'Podcasting para Marcas e Negócios.jpg',
|
|
'KPIs': 'KPIs para Negócios Digitais.jpg',
|
|
'Customer Success': 'Customer Success para Negócios Digitais.jpg',
|
|
'Vendas Online': 'Vendas Online.jpg',
|
|
'Vendas B2B': 'Vendas B2B.jpg',
|
|
'Inteligência Artificial': 'Inteligência Artificial para Marketing e Vendas.jpg',
|
|
'RGPD': 'RGPD e Privacidade de Dados para Marketers.jpg',
|
|
'Grande Dicionário': 'Grande Dicionário de Marketing.jpg'
|
|
}
|
|
|
|
# Caminho para o conteúdo do rodapé
|
|
FOOTER_CONTENT_PATH = BASE_DIR / "scripts" / "_conteudo_rodape.md"
|
|
|
|
# Configurações de processamento
|
|
PROCESSING_CONFIG = {
|
|
'remove_html_tags': True,
|
|
'preserve_links': True,
|
|
'convert_schema_markup': False, # Remove schema.org markup
|
|
'max_heading_level': 4,
|
|
'table_style': 'grid',
|
|
'image_max_width': 15, # cm
|
|
'enable_toc': True, # Tabela de conteúdos
|
|
'toc_depth': 3
|
|
}
|
|
|
|
# Templates de cabeçalho e rodapé
|
|
TEMPLATES = {
|
|
'header': """
|
|
Descomplicar® - Agência de Aceleração Digital
|
|
{title}
|
|
""",
|
|
'footer': """
|
|
© {year} Descomplicar® - Todos os direitos reservados
|
|
https://descomplicar.pt | info@descomplicar.pt
|
|
""",
|
|
'cover_page': """
|
|
{title}
|
|
|
|
{description}
|
|
|
|
Autor: {author}
|
|
Data: {date}
|
|
"""
|
|
} |