Skip to content

DOCS: revamp do README e da documentação + fix DaCCe sem emitente#180

Merged
antoniospneto merged 16 commits into
Engenere:mainfrom
antoniospneto:docs/revamp-readme-docs
Jun 13, 2026
Merged

DOCS: revamp do README e da documentação + fix DaCCe sem emitente#180
antoniospneto merged 16 commits into
Engenere:mainfrom
antoniospneto:docs/revamp-readme-docs

Conversation

@antoniospneto

Copy link
Copy Markdown
Contributor

Resumo

Revamp completo do README e da documentação, com galeria de PDFs de exemplo, mais um bugfix do DaCCe que estava pendente.

README / documentação

  • Galeria de saídas em tabela HTML com os 4 documentos (DANFE, DACTE, DAMDFE, DANFSe) e miniaturas de tamanho uniforme. A DACCe passou a ser tratada como evento da NF-e (carta de correção), não como DFe próprio, e é citada à parte.
  • Intro reescrita enquadrando o propósito (XML oficial → PDF) e mapeando as siglas em inglês (NF-e → DANFE, CT-e → DACTE, …).
  • Quick Start enxuto + novo exemplo de customização (DanfeConfig, auto-contido).
  • Seção CLI melhorada — mostra o install [cli], exemplo herói com o output e o config.yaml.
  • Remoção do banner do topo, da seção Dependencies (duplicava o pyproject.toml) e de Credits (a atribuição ao autor original segue preservada nos headers de copyright do código e na página About).
  • Badge do Streamlit trocado por shields.io (o asset oficial passou a retornar 403); badge de versões do Python removido; casing Engenere padronizado.
  • Casing DANFSE → DANFSe no README e na doc, conforme a NT 008/2026 e o próprio cabeçalho impresso pelo PDF.
  • Screenshot do DANFSe regenerado para o leiaute v2.0 (após sincronizar com o main).
  • Novo scripts/generate_screenshots.py — gera as miniaturas a partir das fixtures de teste.

Fix

  • DaCCe: corrige UnboundLocalError quando emitente não é informado (+ teste test_dacce_without_emitente).

O exemplo de uso básico da documentação (DaCCe(xml=...)) quebrava porque
emitente_nome só era atribuído dentro de "if emitente:". Inicializa o nome
vazio e adiciona teste de regressão sem emitente.
Revisão completa do README e do site de documentação (en + pt):

- Galeria de miniaturas PNG dos cinco documentos gerados (README com
  URLs absolutas para renderizar no PyPI; home da doc com coluna de
  prévia) e imagem de exemplo no topo de cada página de documento.
  Miniaturas geradas por scripts/generate_screenshots.py a partir das
  fixtures de teste (reproduzível; documentado no guia de contribuição).
- DANFSE incluído onde estava invisível: tabela da home, abas de
  instalação e quick start do getting-started, comandos do CLI e
  snippet do README; criado docs/danfse.pt.md (única página sem
  tradução) e a página foi expandida com leiaute aceito (Padrão
  Nacional), extra de instalação, font_type, decimal_config e marcas
  d'água.
- Correções factuais apontadas por auditoria contra o código: licença
  é LGPL-3.0 (e não AGPL, como o classifier do pyproject sugere);
  precedência e variantes das marcas d'água (CANCELADA / CANCELADA -
  SEM VALOR FISCAL / SEM VALOR FISCAL automática) em DANFE, DACTE e
  DANFSE; comportamentos automáticos do DAMDFE (homologação e
  contingência com prazo de 168h); faixas de margem suportadas pelo
  DAMDFE; qrcode também é exigido pelo DANFSE; nota de aplicabilidade
  do config.yaml do CLI por comando (ISSUER/LOGO/margens) e nome do
  arquivo de saída.
- Opções mortas sinalizadas com aviso em vez de documentadas como
  funcionais: receipt_pos e decimal_config no DACTE, decimal_config no
  DAMDFE, quantity_precision no DANFSE; tax_configuration removido do
  exemplo do DANFE (aviso já existia).
- Paridade en/pt restaurada: seções Footer Stamp e quebra de linha do
  infCpl traduzidas no danfe.pt.md; demais páginas espelhadas 1:1.
- README com seção de diferenciais, badges de versões de Python e
  Streamlit, link para a doc em português, faixa de Python suportada,
  CTA da demo online e seção de licença; páginas About enriquecidas.
- Guia de contribuição: extra danfse no install editável, ativação de
  venv no Windows, qpdf recomendado (fallback por hash), hook
  no-generate-true, seção de como trabalhar na documentação (MkDocs +
  i18n por sufixo) e regeneração das miniaturas.

Exemplos de código executados contra as fixtures (15/15 ok), site
construído com mkdocs --strict e links internos das builds en/pt
verificados.
@antoniospneto antoniospneto merged commit f7e56be into Engenere:main Jun 13, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant