Capítulo 12 · Parte III · Na prática
Skill para agentes: portar uma publicação para o Postext
Instale a skill postext-port no Claude Code, no Codex ou em qualquer agente e deixe que ela transforme um PDF, Word, PowerPoint, EPUB, InDesign ou HTML em um projeto do Postext que segue a diagramação original
Em poucas palavras
Esta página é para quem já tem um livro ou um documento em outro formato, como PDF, Word ou InDesign, e quer passá-lo para o Postext. Um assistente de inteligência artificial, chamado agente, pode fazer quase todo o trabalho se você der a ele um pequeno complemento chamado skill. A skill ensina o agente a copiar o texto e a refazer o design do original. A página explica como instalá-la, o que pedir e como conferir o resultado. Um vídeo de uns cinco minutos mostra cada passo.
Transforme uma publicação existente em um projeto do Postext com um agente de programação.
Muita gente chega ao Postext com um livro que já existe: um livro didático em PDF de impressão, um relatório no Word, um curso no PowerPoint, um catálogo no InDesign, um EPUB. Portá-lo significa dois trabalhos:
- Conteúdo: o Markdown enriquecido de cada capítulo, com as suas diretivas e microformatos.
- Design: um manifesto de configuração que reproduz as regras de diagramação do original (geometria da página, grade de linhas de base, tipos, aberturas, cabeços, boxes, flutuantes, tabelas, partes).
Um LLM consegue fazer boa parte desse trabalho, mas só se souber como o
Postext funciona. O Markdown do Postext não é CommonMark, e a configuração tem
armadilhas que só aparecem quando uma página sai errada. A skill
postext-port reúne esse conhecimento junto com as ferramentas que usamos
para construir cada predefinição do Sandbox, para que o seu agente faça a
conversão direito.
Ela segue o formato aberto Agent Skills, então funciona com Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode e muitos outros agentes.
#Assista ao tutorial
Cinco minutos, sem código: preparar a pasta, trazer os originais vetoriais, acrescentar um PDF de referência, pedir ao agente e conferir o resultado no Sandbox.
Transcrição
Tudo o que o narrador diz, com uma descrição do que aparece na tela.
- 0:00
Na telaAbertura: o logotipo do Postext, a chamada “Tutorial · 5 passos” e o título “Converta sua publicação em Postext com um agente de IA. Sem programar.”
- 0:03
Na tela“Sua publicação já existe.” Três capas caem uma depois da outra com as suas etiquetas: um livro, Dom Casmurro, de Machado de Assis (Coleção Casuarina), marcado InDesign (IDML); um manual, o da chaleira elétrica Verra W1, marcado Word (DOCX); e uma revista, FALLOW, marcada PDF. Elas se agrupam à esquerda, uma seta dourada tracejada passa por um selo “Agente de IA” e aparece um ícone de arquivo, meu-livro.postext, sob “Um agente a converte em Postext. Cinco passos. Alguns pedidos bem escritos.”
NarraçãoVocê já tem uma publicação: um livro, um manual, uma revista. Ela vive no InDesign, no Word ou num PDF. Neste tutorial, um agente de inteligência artificial vai convertê-la em Postext para você. Sem programar: cinco passos e alguns pedidos bem escritos.
- 0:24
Na tela“O plano”: cinco cartões numerados aparecem à medida que cada passo é nomeado: 01 Prepare a pasta, 02 Reúna os originais vetoriais, 03 Adicione uma referência, 04 Peça ao agente, 05 Revise no Sandbox.
NarraçãoO plano: preparar a pasta, reunir os originais vetoriais, adicionar uma referência, pedir ao agente e revisar o resultado.
- 0:34
Na telaPasso 01, a pasta: “Um projeto, uma pasta.” Uma pasta grande, meu-livro/, flutua entre dez arquivos soltos, como MinionPro-Regular.otf, capa.jpg, fig-2-1.ai, capitulo-01.docx, mapa.svg, livro.idml e grafico.pdf. Abre-se uma janela com a árvore da pasta, e cada arquivo voa para a sua subpasta quando ela é nomeada: referencia.pdf (como deve ficar → passo 03), fontes/ (Minion Pro, Myriad…, .otf .ttf .woff2), imagens/ (fotografias, .jpg .png), ilustracoes/ (originais vetoriais, .ai .svg .pdf) e textos/ (Word, InDesign IDML…).
NarraçãoPasso um: reúna tudo numa única pasta no seu computador. Um projeto, uma pasta. Dentro dela, dê a cada tipo de material a sua própria subpasta: as fontes, as imagens, as ilustrações e os textos.
- 0:51
Na telaA linha fontes/ fica destacada e um cartão com o título “Fontes” mostra um “Aa” grande, os estilos Redondo, Itálico e Negrito, os formatos OTF, TTF e WOFF2 e a nota “Só dá para usar as que você incluir.” Depois, “Quanto mais organizada, menos ele adivinha.”, enquanto cada subpasta da árvore recebe um visto.
NarraçãoNão se esqueça das fontes: elas são a voz do design, e o agente só pode usar as que você incluir. Quanto mais organizada estiver a pasta, menos o agente vai ter que adivinhar.
- 1:04
Na telaPasso 02, originais vetoriais: “Reúna os originais.” Um diagrama, um gráfico e um mapa são desenhados em traço, com os pontos de ancoragem à mostra, e aparecem três ícones de arquivo: .ai Illustrator, .svg SVG e .pdf PDF.
NarraçãoPasso dois: se as suas ilustrações são vetoriais, como diagramas, gráficos ou mapas, procure os arquivos originais: Illustrator, SVG ou PDF.
- 1:15
Na telaDois painéis mostram a mesma figura, um diagrama em que Manuscrito e Modelo apontam para Páginas, com a legenda “Fig. 2.1 Conteúdo e design se encontram.” À esquerda, “Recortada do PDF: uma foto do desenho” fica borrada e pixelada ao ser ampliada; à direita, “O original: o próprio desenho” continua nítido. O painel da esquerda se apaga, os rótulos do original são reescritos em inglês (Manuscript, Template, Pages), marcas de corte o enquadram e três vistos dizem “Nítida em qualquer tamanho”, “Rótulos como texto real” e “Original → gráfica”.
NarraçãoUma figura recortada do PDF final é pouco mais que uma foto do desenho. O original é o próprio desenho. Com o original, o agente recompõe cada figura: nítida em qualquer tamanho, com seus rótulos como texto real, prontos para traduzir. E na gráfica, o original vai do jeito que está.
- 1:37
Na telaPasso 03, a referência: “Mostre como deve ficar.” Na árvore da pasta, referencia.pdf fica destacado com a etiqueta “Na raiz”; dele sai uma página que se transforma numa página de livro grande, em duas colunas, marcada referencia.pdf.
NarraçãoO passo três é essencial: na raiz da pasta, coloque um arquivo que mostre com clareza como o produto final deve ficar. O ideal é um PDF.
- 1:47
Na telaSobre a página aparecem as medidas: o contorno das colunas, uma medianiz de 9 mm, uma margem de 20 mm, etiquetas para o título (Fraunces 28 pt), o texto (Lora 9,4/13,6 pt) e um boxe (fundo, 1 fio), e as linhas de base com entrelinha de 13,6 pt. Um arquivo, ficha-de-especificacoes.md, vai sendo preenchido: página 210 × 280 mm; margens 24 · 20 · 22 · 20 mm, simétricas; 2 colunas, medianiz 9 mm; grade de linhas de base 13,6 pt; texto Lora 9,4 / 13,6 pt, justificado; títulos Fraunces 28 pt · Geist; aberturas com faixa de cor de 101 mm; boxes com fundo e fio à esquerda. Depois a palavra “Adivinhar” é riscada e “Medir.” se acende em dourado.
NarraçãoO agente lê o design nessas páginas: mede margens, colunas, fontes e espaçamentos, e os anota como regras de diagramação. Sem referência, ele teria que adivinhar. Com ela, mede.
- 2:03
Na telaPasso 04, o agente: “Peça com suas palavras.” Abre-se uma janela com o título “Agente · ~/meu-livro” ao lado dos selos Claude Code, Codex e “ou qualquer outro agente”. Na janela é digitada uma mensagem assinada VOCÊ: “Instale a skill do Postext: `npx skills add drnachio/postext --skill postext-port`”, e o agente responde “✓ Skill instalada: postext-port”. Um cartão da skill postext-port lista “Um método testado”, “Tudo sobre o Postext” e “Ferramentas para revisar o próprio trabalho”.
NarraçãoPasso quatro: abra o seu agente, Claude Code, Codex ou o que você usa, nessa pasta, e peça que ele instale a skill do Postext. Uma skill é um pacote de conhecimento especializado. Esta ensina o agente a converter uma publicação para Postext, e lhe dá ferramentas para revisar o próprio trabalho.
- 2:24
Na telaO pedido seguinte é digitado: “Use a skill postext-port para converter este livro para Postext. O design está em referencia.pdf, as fontes em fontes/ e as ilustrações originais em ilustracoes/: use-as em vez de recortar as figuras do PDF. Comece só pelo capítulo 1 e me mostre a ficha de especificações antes de construí-lo.” Ao lado, referencia.pdf, fontes/ e ilustracoes/ se acendem na árvore da pasta à medida que a mensagem os cita, e aparece um cartão com “Cap. 1”.
NarraçãoDepois, peça o que você quer com as suas palavras. Diga onde estão a referência, as fontes e os originais, e que ele comece por um só capítulo.
- 2:37
Na telaUma grade de doze páginas esmaecidas; a primeira ganha um contorno dourado. Uma seta circular conta as rodadas de ajuste sobre ela até aparecer um visto, e então as outras onze se acendem. Embaixo: Capítulo de amostra → Refinar → Estender.
NarraçãoSe o conteúdo for longo, comece por um capítulo de amostra. Refine-o até ficar perfeito, e só então estenda-o ao resto.
- 2:45
Na telaO agente pergunta “Cópia fiel ou redesenho?”, “Quais idiomas?” e “Papel, tela ou os dois?”. Uma lista de tarefas avança por Fazer o inventário, Medir o design, Extrair o texto, Fontes e imagens, Comparar página a página e Empacotar o arquivo, e aparece o arquivo meu-livro.postext. Um terceiro pedido é digitado: “O capítulo 1 está aprovado. Converta o resto dos capítulos com o mesmo design, compare cada um com referencia.pdf e empacote tudo num único arquivo .postext.” O agente responde “✓ 12 capítulos · 0 avisos · meu-livro.postext”.
NarraçãoO agente vai fazer algumas perguntas: cópia fiel ou redesenho, quais idiomas, papel ou tela. Depois mede, extrai, monta e confere, e entrega um arquivo Postext. Quando a amostra estiver boa, estendê-la ao livro inteiro é só mais um pedido.
- 3:08
Na telaPasso 05, o Sandbox: “Revise página por página.” Numa janela de navegador é digitado o endereço postext.dev/pt/sandbox. O ponteiro clica em Livros na barra lateral, depois em Novo e em “Abrir um arquivo .postext…”; o arquivo entra voando, “Meu livro, 12 capítulos · 184 páginas” aparece no alto da lista e as primeiras páginas se abrem na visualização Canvas; as abas de visualização são Canvas, HTML, PDF, Folio e EPUB 3.
NarraçãoPasso cinco: abra o Sandbox do Postext, em postext.dev. Em Livros, escolha Novo e abra o seu arquivo.
- 3:17
Na telaA página de referência e a do Postext ficam lado a lado, com as etiquetas Referência e Postext, e uma linha dourada as percorre de cima a baixo. Abre-se o painel Verificações, com um contador de 3 e a lista Viúva (p. 4), Linha frouxa (p. 7) e A figura não cabe (p. 9); caixas vermelhas marcam cada problema na página do Postext.
NarraçãoRevise página por página, ao lado da sua referência. O painel Verificações aponta os problemas: viúvas, linhas frouxas, figuras que não cabem.
- 3:28
Na telaDuas fileiras de páginas esquemáticas, “Referência · PDF” e “Postext · fluido”. Na fileira fluida, uma figura passa da primeira página para o topo da segunda, e uma linha tracejada liga as suas duas posições. Texto: “As mesmas regras, não as mesmas páginas. O conteúdo flui: uma figura ou uma quebra de página podem cair em outro lugar.” Depois, um sinal de igual une cada par de páginas sob “O que precisa coincidir”: Margens e grade de linhas de base, Tipografia, Estilo de figuras e boxes, Páginas limpas: sem viúvas, colunas equilibradas. Um painel vermelho com o sinal ≠ diz “Decisões artesanais à mão: não são regras, não servem para um conteúdo que muda”.
NarraçãoTenha em mente uma coisa: as páginas não precisam ser idênticas às do PDF. O Postext entendeu as regras de diagramação e agora o seu conteúdo é fluido, então uma figura ou uma quebra de página podem cair em outro lugar. O que precisa coincidir é a qualidade: os mesmos valores de produção. Quando diagramamos à mão, tomamos pequenas decisões artesanais que não são regras. E só com regras dá para diagramar um conteúdo que muda.
- 3:59
Na telaA janela do agente volta com um quarto pedido: “No Sandbox, capítulo 2, página 7: o boxe ‘Lembre’ se divide em duas colunas e falta o cabeço. Verificações marca 3 linhas frouxas. Corrija isso e empacote o arquivo de novo.” Uma captura vai anexada, captura-cap2-p7.png. Depois, um ciclo entre Sandbox (revisar) e Agente (corrigir) dá as voltas 1 a 3 enquanto o número de avisos cai de 3 para 0, e termina com um visto e “Perfeito.”
NarraçãoDepois, conte ao agente o que você vê, com a maior precisão possível: o capítulo, a página e o que está errado. Uma captura de tela ajuda. Abra a nova versão, revise de novo e repita. Cada rodada chega mais perto, até que fique perfeito.
- 4:20
Na tela“Não só uma versão Postext.” O arquivo meu-livro.postext se divide em dois ao longo de uma linha dourada. À esquerda, Conteúdo (o que diz): chapters/pt/02-a-celula.md, com o título “A célula”, uma frase que cita a figura fig-celula e um boxe “lembre”. À direita, Forma (como fica): um modelo deduzido do seu original, com página de 210 × 280 mm simétrica, 2 colunas com medianiz de 9 mm, texto Lora 9,4/13,6 justificado, títulos em Fraunces numerados, boxes “lembre” com fundo e fio, e figuras no topo da coluna.
NarraçãoE o melhor: você não só tem o seu conteúdo em Postext. Você separou o conteúdo da forma. O texto vive em capítulos limpos; o design, num modelo com as regras de diagramação deduzidas do seu original.
- 4:34
Na telaOs chips Corrigir, Ampliar e Traduzir se acendem sobre uma fileira de páginas: uma linha fica destacada e um brilho percorre as páginas, entram mais duas páginas e as páginas viram para mostrar a edição em inglês. Um pedido é digitado: “Acrescente uma edição em inglês: traduza os capítulos, as legendas das figuras e os rótulos dos diagramas, e mantenha o mesmo design.” Rodapé: “As mesmas regras. Conteúdo novo. As páginas se compõem sozinhas.” Depois, “Um arquivo, o livro inteiro.”: um ícone .postext se ramifica para uma página com marcas de corte (PDF para impressão), um leitor de livros digitais com o texto ajustado à sua tela (Livro digital EPUB), uma janela de navegador (Leitor web) e um par de páginas (Cada página, composta).
NarraçãoAssim, quando o seu conteúdo mudar, quando você o corrigir, ampliar ou traduzir, não vai precisar se preocupar com o formato. O Postext o recompõe com as mesmas regras. Um só arquivo para o livro inteiro: um PDF pronto para impressão, um livro digital EPUB, um leitor para a web e páginas que se compõem sozinhas.
- 4:59
Na telaFechamento: o logotipo do Postext, o lema “O tipógrafo programável para a web”, postext.dev, um chip com “Os prompts deste vídeo estão na descrição ↓” e o rodapé “Código aberto · MIT · github.com/drnachio/postext”.
NarraçãoPostext. Código aberto, em postext.dev. Os prompts de exemplo estão na descrição.
Também no YouTube: assista lá ou na playlist do Postext.
#O que a skill contém
- Um fluxo de trabalho:
- combinar o briefing;
- fazer o inventário da fonte;
- medir o design em uma ficha de especificações;
- montar o esqueleto do projeto;
- extrair o conteúdo;
- revisá-lo e passá-lo para o Markdown do Postext;
- preparar fontes e imagens;
- verificar página por página;
- empacotar.
- Referências:
- o formato do documento e o manifesto de configuração, ambos conferidos com o motor;
- o formato do projeto (pacote);
- um roteiro por formato de origem;
- um método de análise de design;
- um catálogo de casos de diagramação resolvidos: partes com cores próprias, aberturas de capítulo, verso, notas de margem, notas de rodapé, índices remissivos, boxes flutuantes, divididos e aninhados, originais vetoriais de impressão, figuras com texto vivo, imagens em células de tabela, tabelas em paisagem, edições bilíngues e mais;
- livros chineses, compostos na horizontal ou na vertical e encadernados à direita: o que perguntar no briefing (escrita, região, direção, encadernação), como medir uma grade de caracteres, como ler PDFs verticais, o rubi e o warichu do InDesign, a diagramação do leste asiático do Word e os EPUBs da direita para a esquerda, e como recortar fontes CJK para o livro (veja Diagramação em chinês);
- livros japoneses, romances bunko e tankōbon verticais encadernados à
direita ou livros técnicos horizontais: o idioma que liga as regras
japonesas (
ja, nunca uma tag chinesa), o que perguntar (direção, grade, furigana, notas, a ortografia da edição), como medir a mancha em caracteres e linhas, a marcação de furigana e de bōten, textos do Aozora Bunko convertidos comaozora.py, digitalizações de edições em domínio público da Biblioteca Nacional da Dieta, e fontes japonesas recortadas com os seus kana e as suas formas verticais (veja Diagramação em japonês); - livros árabes, modernos ou clássicos e vocalizados, compostos da direita
para a esquerda e encadernados à direita: o idioma que vira o livro, o
que perguntar (região e algarismos, vocalização, verso, sumário no fim),
como medir uma página espelhada, como ler árabe em PDFs, no Word e na
Wikisource, poemas como
:::verse, notas «(١)» por página, e fontes árabes recortadas com as suas tabelas de ligação (veja Diagramação em árabe); - quadrinhos, mangás e tiras de jornal: a divisão que corta uma página em quadros, as imagens dos quadros com as suas âncoras de personagem e áreas seguras, um roteiro por idioma que o motor letreira (balões, recordatórios, onomatopeias), mangás da direita para a esquerda e edições árabes, e como portar a partir de arte sem texto mais traduções, de digitalizações letreiradas ou de um roteiro com arte gerada (veja Quadrinhos);
- o objeto impresso: como ler o papel, a encadernação, as capas e a lombada
da fonte e defini-los nas configurações
folioque o visualizador Folio mostra, conferidas pelo linter.
- Scripts (Python e Node), descritos na próxima seção.
#Scripts
| Script | O que faz |
|---|---|
inventory.py | Primeira olhada em qualquer fonte: geometria, fontes, estilos em uso, mídia, páginas que precisam de OCR; num PDF impresso como PDF/X, a condição de saída e a sangria, com os ajustes print que as reproduzem. |
measure_layout.py | Margens, colunas, medianiz e entrelinha (a grade de linhas de base) de um PDF |
pdf_extract.py | PDF → rascunhos de capítulos por papel tipográfico (fonte/tamanho/cor): ordem de leitura, parágrafos, remoção da hifenização, negrito/itálico, sobrescritos/subscritos, listas, legendas |
pdf_figures.py | Recorta figuras de um PDF: fotos na resolução nativa, visualizações em SVG, originais vetoriais de impressão em PDF |
extract_tables.py | Tabelas de PDF → TableModel do Postext |
pandoc_to_postext.py | DOCX, PPTX, ODT, EPUB, HTML, LaTeX, Markdown, JATS, DocBook → rascunhos de capítulos, com os estilos do Word mapeados para boxes e estilos de parágrafo |
idml_extract.py | IDML do InDesign → rascunhos de capítulos por estilo de parágrafo, tabelas e imagens ancoradas; rubi, tate-chu-yoko, marcas de ênfase e warichu viram :ruby, :tcy, :dots e :warichu, e as matérias verticais e uma encadernação da direita para a esquerda são relatadas |
aozora.py | Texto do Aozora Bunko (um zip em CP932 ou um .txt) → Markdown do Postext: furigana, bōten e linhas laterais, títulos com os seus recuos, blocos 字下げ e 地付き como estilos de parágrafo, quebras de página, 外字 resolvidos pela JIS X 0213, marcas de kanbun; devolve o bloco de créditos e um relatório do que não conseguiu expressar |
index_marks.py | Reconstrói um índice remissivo impresso como marcas :index: lê as páginas do índice no PDF, encontra cada termo na sua página e marca as mesmas palavras nos capítulos |
comic_panels.py | Mede páginas de quadrinhos: encontra os quadros pelo papel entre eles, escreve a expressão split (da esquerda para a direita ou da direita para a esquerda, sarjetas inclinadas incluídas), as sarjetas e a moldura, recorta uma imagem por quadro e imprime os esqueletos :::page; sobrepõe uma grade às imagens para ler as âncoras de personagem e as áreas seguras, e as desenha de volta para conferi-las |
fonts.py, images.py, convert_assets.py | Instanciam, recortam, escalam e dividem fontes (uma face chinesa ou japonesa recortada para os caracteres do livro mantém as suas formas verticais e métricas, uma árabe as suas formas de ligação e o tatweel); convertem imagens para sRGB, aparam e juntam; transformam arte .ai/.pdf em SVG |
preset_kit.py | Monta o esqueleto do projeto e o seu script gerador, constrói o preset.json, empacota o arquivo .postext |
lint_project.py | Pega tudo o que o parser e o carregador entendem errado sem avisar e, para texto chinês, japonês e coreano, os caracteres que as fontes incluídas não conseguem compor; para texto japonês, kana sob um idioma chinês, faces ou configurações chinesas, notação do Aozora esquecida nos capítulos e entradas de índice em kanji sem leitura; para texto árabe, a falta de um idioma árabe, faces só latinas ou sem ligação, espaçamento entre letras, hifenização forçada e ênfase em itálico; nos quadrinhos, expressões de divisão que não são interpretadas, quadros que não correspondem às células, imagens e estilos de balão ou de quadro desconhecidos, âncoras de personagem malformadas, faces de letreiramento que o projeto não inclui e edições cujas páginas diferem |
render.mjs | Diagrama o projeto (uma pasta ou um arquivo .postext) sem interface, com o motor real, lendo a sua configuração como o Sandbox faz, e imprime os avisos. Com --jpeg, pinta as páginas que você pedir (--pages 12-15) como arquivos JPEG com o próprio renderizador de canvas do motor, em um ou dois segundos, para que o agente olhe as suas páginas sem gerar um PDF; --out grava o PDF. Um livro preparado para impressão recebe linhas PREFLIGHT (imagens de baixa resolução, fios finos, texto pequeno em várias tintas, tinta acima do limite, texto perto do refile), e o PDF é separado com o perfil ICC de saída. |
compare_pages.py | Coloca lado a lado as páginas da fonte e as do Postext, a partir do PDF renderizado ou da sua pasta de JPEGs |
#Instalação
#Qualquer agente (skills.sh)
A CLI skills detecta os seus agentes e instala a skill
para eles:
npx skills add drnachio/postext --skill postext-portEscolha os agentes explicitamente com -a, e instale globalmente (em todos os
projetos) com -g:
npx skills add drnachio/postext --skill postext-port -a codex -a claude-code -gO site também publica a mesma skill, então isto também funciona:
npx skills add https://postext.dev#Plugin do Claude Code
O repositório do Postext também é um marketplace de plugins do Claude Code. Dentro do Claude Code:
/plugin marketplace add drnachio/postext
/plugin install postext@postextOu a partir de um shell:
claude plugin marketplace add drnachio/postextclaude plugin install postext@postext#Deixe o agente instalá-la
Você pode pedir ao seu agente que faça isso, por exemplo: “Instale a skill de
conversão do Postext (npx skills add drnachio/postext --skill postext-port) e
use-a para portar este PDF.” Os agentes que leem https://postext.dev/llms.txt
encontram ali esta página e o comando de instalação.
#Ferramentas que os scripts usam
python3 -m pip install pymupdf pillow fonttools brotlibrew install pandoc popplermkdir -p ~/.cache/postext-tools && cd ~/.cache/postext-tools && npm init -y && npm i postext postext-pdf postext-citeproc react @pdf-lib/fontkit @napi-rs/canvasO Pandoc é necessário para fontes em Word, PowerPoint, EPUB e HTML, e o poppler
para as imagens das páginas da fonte. Os pacotes do Node movem o renderizador
sem interface (Node 22.15 ou mais recente); @napi-rs/canvas é um canvas
pré-compilado que permite pintar as páginas do livro direto em JPEG.
Ferramentas opcionais: ocrmypdf para digitalizações, ImageMagick e veraPDF
para verificações PDF/UA.
#Como usar
Coloque os arquivos de origem na sua pasta de trabalho e peça a conversão. Por exemplo:
- “Porte os capítulos 1–3 de
manual.pdfpara o Postext, reproduzindo a diagramação em duas colunas, as aberturas de capítulo e os boxes.” - “Converta
course.docxem um livro do Postext. Os estilos ‘Nota’ e ‘Actividad’ são boxes.” - “Transforme
deck.pptxem uma apostila do Postext: os slides viram seções, as notas do apresentador viram o texto.” - “Temos o pacote do InDesign (IDML + PDF de impressão) deste livro didático. Monte a predefinição do Postext para o capítulo 1 em espanhol e em inglês.”
O agente segue o fluxo de trabalho:
- Briefing. Ele pergunta o que não consegue deduzir: uma reprodução fiel ou um redesenho, um capítulo de amostra ou o livro inteiro, idiomas, impressão ou tela, e os direitos sobre o texto, as imagens e as fontes.
- Inventário e medição. Ele lê a fonte e escreve uma ficha de especificações com fatos medidos: refile, margens, colunas, entrelinha, papéis tipográficos, paleta, aberturas, cabeços, famílias de boxes e hábitos de colocação.
- Projeto. Ele monta o esqueleto de
my-book/com um geradorbuild_preset.pyque guarda a especificação como constantes e produz opreset.json. - Conteúdo. Ele extrai rascunhos de capítulos com o extrator certo e
depois os revisa e passa para o Markdown do Postext: boxes, estilos de
parágrafo, partes, atributos de título para as aberturas, citações
:ref, recursos de tabela e de figura. - Verificação. Ele passa o linter no projeto, diagrama-o sem interface, renderiza como JPEGs as páginas em que está trabalhando e olha para elas, e as compara com a fonte página por página até que as quebras de página, as figuras e os boxes coincidam. O PDF é gerado para as verificações de impressão, não a cada olhada.
- Entrega. Ele define o papel, a encadernação e as capas do livro para o
visualizador Folio e empacota
my-book.postext.
Abra o resultado no Sandbox: Livros → Novo → Abrir um arquivo .postext….
A importação traz os capítulos e os textos no idioma do Sandbox. Para
trabalhar com uma pasta de projetos em uma cópia local do Postext, defina
POSTEXT_PRIVATE_PRESETS_DIR (veja Sandbox).
#Carregar o resultado a partir de código
O arquivo entregue não está preso ao Sandbox. O pacote postext o abre com openBundle, diagrama o livro com buildBundle e o renderiza em canvas, HTML ou PDF (veja Pacotes). Uma conversão pode, portanto, alimentar um programa diretamente. Quando a saída desse programa precisar de ajustes, exporte-a de volta para um arquivo .postext com createBundle, faça o ajuste fino no Sandbox e carregue de novo o arquivo corrigido. O render.mjs sem interface da skill também aceita um arquivo .postext empacotado, além de uma pasta de projeto.
#O que esperar
- Os extratores produzem rascunhos; o agente os revisa. Conte com uma rodada de revisão por capítulo contra as páginas originais. É dessa revisão que vem a qualidade.
- Só configuração e Markdown. A skill nunca altera o motor para encaixar um livro. Quando o Postext não consegue expressar algo, o agente escolhe a expressão mais próxima e a registra como lacuna conhecida.
- Os direitos são decisão sua. O agente pergunta antes de reproduzir
imagens ou fontes cujas licenças não estejam claras. As fontes licenciadas
são marcadas com
redistributable: false, então os projetos exportados as deixam de fora. - Fidelidade onde importa. O objetivo é a mesma grade, os mesmos tipos, aberturas, boxes, colocação das figuras e quebras de página na maioria das páginas (com diferença de no máximo uma página por capítulo), não quebras de linha idênticas.
#Onde ela fica
A skill está no repositório em
plugins/postext/skills/postext-port.
Ela cobre todos os casos encontrados ao construir as predefinições do Sandbox,
públicas e privadas. Quando uma conversão topar com um caso que ela ainda não
cobre, abra uma issue ou um pull request que melhore a skill, para que a
próxima conversão já o receba pronto.