Doc Generator¶
Identidade¶
- Tipo: lib Python + CLI (
_shared) - Path:
_shared/doc_generator.py(334 LOC) · templates emtimes/cs/foundation/templates-documentos/ - Render: Chrome/Edge headless (
--print-to-pdf) — sem dep PyPI - Status: 🟢 produção (DEV-798)
Templates¶
| Função | Template | Quem chama |
|---|---|---|
gerar_manual_cliente | manual-do-cliente.html (Doc B) | consolidador Fase 1 |
gerar_guia_preparacao | guia-preparacao-call.html (Doc A) | worker confirmacao-agenda véspera |
gerar_ata_reuniao | ata-reuniao.html | pós-reunião |
gerar_dossier_cliente | dossier-cliente.html | pós-briefing (interno) |
gerar_material_kickoff | material-kickoff.html | antes kickoff |
gerar_deck_treinamento | deck-treinamento.html | Fase 7 |
Helpers: li_list, tr_rows, _esc.
Como funciona¶
re.sub(r"\{\{\s*([\w.]+)\s*\}\}", ...)substitui placeholders.- Escreve tmp HTML na própria pasta de templates (preserva
branding.css+assets/relativos). - Chrome
--headless=new --no-pdf-header-footer --print-to-pdf=<out.pdf> file:///tmp. - Deleta tmp.
Branding¶
Cores: Azul Marinho #0A1E3F, Petróleo #267788, Bege #D8CBB5, Chumbo #2C2C2C, Dourado #C9A84C. Tipos: EB Garamond + Inter.
Gotchas¶
- F8 — ata data default:
gerar_ata_reuniao(data="")agora cai pradate.today().isoformat()(commit7818eaf). Antes geravaAta--.pdfcom slug vazio. - Sem Chromium no Linux →
apt install chromium.
Don'ts¶
- Não usar
strict=Trueem produção. - Não escrever tmp fora da pasta de templates.
Relacionadas¶
- 04-Consolidador (gera Manual)
- Branded source:
pd-framework/times/marketing/foundation/brand.md