O CSS ganha procedência e pode ser reconstruído
O sistema passa a saber de qual HTML cada CSS compilado saiu, aponta o que ficou desatualizado e recompila a partir do conteúdo que o banco realmente serve.
O site serve HTML e CSS do banco. O compilador, porém, lia os arquivos do repositório. Quem editava uma página pelo painel mudava o HTML no banco, e o CSS continuava sendo o do arquivo antigo: classes novas chegavam ao visitante sem regra nenhuma.
A decisão
HTML e CSS escritos por alguém são autoria. CSS compilado é derivado: pode ser refeito a qualquer momento e não deve ser preservado como se fosse trabalho do usuário.
O que entrou
- Assinatura de procedência: cada recurso guarda a assinatura do conteúdo de que o CSS foi gerado. Sem assinatura, ou com assinatura diferente, o CSS conta como desatualizado.
- Invalidar, nunca apagar: uma atualização que mexe no conteúdo marca o CSS como desatualizado, mas não o remove. Apagar deixaria a página sem estilo até alguém recompilar.
c2f css:audit: mede, por tabela, quanto CSS está desatualizado e quantas classes estão sem regra.c2f css:rebuild: recompila a partir do HTML do banco. Com--url, usa também o HTML que a página realmente devolve, o que dispensa declarar de onde vêm as classes.
O mesmo lote corrigiu um defeito antigo: o conteúdo escrito no editor de texto dependia de CSS que a página pública nunca carregava. Recuos e alinhamentos funcionavam ou não conforme o botão usado. Agora a folha do conteúdo entra sempre que a página tem texto desse editor.
Num lote de 80 páginas medidas, as classes sem regra caíram de 1.538 para 291.
Origem: Core · req-141 · BATCH-144