Sobre este acervo
Como está organizado
O item de mais alto nível é o livro. Cada livro é uma pasta em livros/ com exatamente três páginas:
| Arquivo | Papel |
|---|---|
index.qmd |
Ficha do livro: autoria, edição, fonte, estado do trabalho |
original.qmd |
Texto integral |
resumo.qmd |
Versão comprimida |
Importar um livro de qualquer formato
Peça ao Claude Code: “importe o livro X” — a skill importar-livro (.claude/skills/) conduz a cadeia inteira:
fonte (PDF, EPUB, MOBI, DOC, RTF, HTML, TXT)
│ [OCR, se for digitalização]
▼
.docx ← formato-pivô: onde a revisão humana acontece
│ pandoc
▼
.md ← correção de OCR, transcrição, tradução (em blocos)
│ livro.dart
▼
.qmd ← única coisa que entra no site
A conversão até o .md é uma chamada:
dart .misc/tools/importar.dart "<fonte>" --saida-dir _fontes
dart .misc/tools/importar.dart "<fonte>" --so-docx # para no pivô, para revisar no WordTranscrição e tradução vão em blocos retomáveis (blocos.dart), processados pelo subagente transcritor — um bloco por vez, com glossário compartilhado para o vocabulário não derivar entre capítulos.
Adicionar um livro novo
dart .misc/tools/livro.dart novo "Título do Livro" \
--autor "Fulano de Tal" \
--ano 1867 \
--categorias "filosofia,século XIX" \
--fonte "arquivo-original.docx"Cria a pasta, gera os três .qmd, registra o livro na barra lateral e — se a fonte for .docx, .epub, .odt, .rtf ou .html — já despeja o texto convertido dentro de original.qmd.
Outros comandos:
# repõe o corpo de um .qmd a partir de uma nova fonte
dart .misc/tools/livro.dart importar <slug> "fonte.docx" --como original
dart .misc/tools/livro.dart importar <slug> "resumo.md" --como resumo
# regenera a seção "Acervo" da barra lateral em _quarto.yml
dart .misc/tools/livro.dart sidebarPDF não é importável direto: precisa de OCR antes (o resultado costuma exigir revisão manual pesada).
O que a importação limpa automaticamente
- CRLF do Windows;
divs e âncoras que o pandoc gera a partir de EPUB (::: {...},[]{#...});- cabeçalhos que vieram como texto literal do
.docx(\## Título→## Título); - títulos de capítulo em texto corrido —
CAPÍTULO 3,Conferência 5,PARTE II— promovidos a#, o que dá sumário navegável a textos que chegaram sem hierarquia.
Corrigir OCR
.misc/tools/ocr.dart é um corretor assistido: ele não sabe português, ele aprende o léxico do próprio livro. Palavras que aparecem muitas vezes são quase sempre corretas; uma palavra rara a uma edição de distância de uma frequente é o padrão exato de um erro de OCR.
dart .misc/tools/ocr.dart analisar livros/<slug>/original.qmd
# revise .misc/ocr/<slug>-original.tsv (coluna `aplicar`)
dart .misc/tools/ocr.dart aplicar livros/<slug>/original.qmd --dry-run
dart .misc/tools/ocr.dart aplicar livros/<slug>/original.qmd
dart .misc/tools/ocr.dart hifens livros/<slug>/original.qmd --dry-runO analisar só marca aplicar=sim sozinho quando a evidência é conclusiva:
- dígito no meio de palavra (
1azão→razão,s9r→ser); - acento sobrando (
sentído→sentido,náo→não).
Tudo o mais fica em ? para você decidir, porque o resto não é decidível por máquina:
| Armadilha | Exemplo |
|---|---|
| Plural e flexão parecem erro | umas→uma, parar→para, américas→américa |
| Citação em espanhol perde acento como um erro | imperio, violencia, resistencia |
| Clítico quebra no hífen | escrevê-lo, torná-lo |
| Palavra real e rara vira “erro” | hão, vêm, copta, while |
Por isso a coluna pista ordena a fila: comece por impronunciavel — a forma errada contém uma sequência de letras que não ocorre em nenhuma palavra do livro, e ali a densidade de erro real é alta. dist1/dist2 são só semelhança, e a maioria é palavra legítima.
Aprovar em bloco depois de conferir uma faixa:
# marca 'sim' em todas as linhas cuja pista é impronunciavel
awk -F'\t' 'BEGIN{OFS="\t"} /^#|^errado/{print;next} $7=="impronunciavel"{$6="sim"} {print}' \
.misc/ocr/<slug>-original.tsv > /tmp/t && mv /tmp/t .misc/ocr/<slug>-original.tsvO hifens junta quebras do tipo explo- rada apenas quando a palavra inteira já ocorre em outro ponto do livro — nunca no escuro.
analisar reescreve o TSV do zero. Faça as correções em rodadas: analisar → revisar → aplicar → analisar de novo.
O método de resumo
O resumo segue o prompt guardado em _recursos/prompt_para_resumir.md: compressão para ~50% do volume sem descartar conceito, dado ou conclusão. A redução vem de floreio, redundância, voz passiva e exemplos longos — nunca de conteúdo. Estilo: frases curtas, voz ativa, analogias, termos-chave em negrito e conclusões vitais em blockquote.
Em romance, a prosa é a obra: não comprili-la.
Publicar
dart .misc/tools/livro.dart render # use este
quarto preview # servidor local com recarga automáticaUse o comando do script, não quarto render direto. Nesta máquina o render de projeto aborta no meio: o Quarto termina cada página tentando apagar *_files/mediabag e falha com os error 32. O script mede o sucesso pelos .html realmente gerados, cai para render página a página quando o modo projeto trava e remove as pastas *_files órfãs — que, se ficarem, travam o render seguinte.