Minha última postagem foi publicada em março de 2021, e desde então, quase nada aconteceu com o blog - apesar de mudanças, troca de servidor e vários outros desenvolvimentos. O WordPress tinha sido mais irritante do que útil para retornar à escrita de postagens: era lento, exigia atualizações constantes de plugins e vulnerabilidades de segurança continuavam aparecendo, enquanto para um blog que publica apenas algumas postagens por ano, era excessivamente complexo.

Por anos considerei mudar para um gerador de site estático, mais idéia da migração - 87 postagens, muitos remanescentes HTML, arquivos de mídia - sempre me desencorajou. Então descobri o OpenCode, e tudo mudou.

Plano de Migração#

OpenCode é uma ferramenta de IA baseada em terminal que me permitiu automatizar a maior parte do processo de migração. O plano consistia em cinco etapas principais:

  1. Exportação de conteúdo do WordPress e conversão para Markdown na estrutura Hugo
  2. Remoção de remanescentes HTML antigos
  3. Relocação do serviço PrivateBin (ZoliBin)
  4. Configuração do site multilíngue Hugo
  5. Tradução de todas as postagens para quatro idiomas

As duas últimas etapas pareciam particularmente ambiciosas, mas no final consegui implementá-las.

Exportação e Conversão de Conteúdo#

Usando a função de exportação integrada do WordPress, extraí todo o conteúdo em formato XML. Atribuí à IA a tarefa de escrever um script que converteu isso para formato Markdown compatível com Hugo, preservando títulos, datas, categorias e tags. Shortcodes foram convertidos para equivalentes HTML/Markdown, e identificadores de comentários do Disqus permaneceram no front matter.

Arquivos de mídia foram copiados para a pasta static/ do Hugo, para que os links antigos continuem funcionando.

Limpeza HTML#

O conteúdo do WordPress continha numerosos remanescentes HTML que o Hugo não conseguia manipular adequadamente: caracteres   desnecessários, blocos de código especiais, tags de imagem específicas do WordPress e outras formatações.

A IA revisou todas as postagens e converteu HTML para Markdown onde possível. Formatações mais complexas foram preservadas graças ao parâmetro unsafe = true definido no config.toml do Hugo. Isso permitiu que o conteúdo HTML antigo ainda fosse exibido sem ter que reescrever tudo manualmente.

Relocação do ZoliBin#

Mantive o serviço de paste ZoliBin (PrivateBin) em sua localização original, ainda acessível através do proxy reverso nginx. Como o Hugo é um site estático, não requer PHP, mas a funcionalidade de paste ainda era necessária. A configuração permaneceu inalterada: armazenamento baseado em arquivos, expiração de 1 semana, proteção por senha.

Configuração Multilíngue#

Configurei o suporte multilíngue do Hugo para quatro idiomas: Húngaro (padrão), Inglês, Português e Alemão. A configuração defaultContentLanguageInSubdir = true permitiu que o conteúdo húngaro permanecesse acessível sob o domínio principal.

Itens de menu foram traduzidos para todos os idiomas, mas os slugs de URL permaneceram em húngaro para simplicidade da migração. Arquivos de mídia continuam disponíveis nos caminhos antigos graças à pasta static/ do Hugo.

Processo de Tradução#

A tradução foi bastante tranquila, foi apenas um prompt simples (é claro que a IA atualizava continuamente o AGENTS.md, e a documentação também acabou lá em relação à estrutura do site).

Problemas na Página Inicial#

Um bug interessante surgiu com a versão 0.146 do Hugo: o arquivo content/index.md criou um leaf bundle que impedia a renderização de outro conteúdo. A solução foi excluir o arquivo e mover a configuração da página inicial inteiramente para config.toml.

O template do tema Terminal também teve que ser modificado porque a página inicial multilíngue não filtrou as postagens corretamente. Usando .Site.RegularPages resolvi o problema, então apenas conteúdo húngaro aparece na página inicial húngara.

Resultados e Lições#

A migração levou algumas horas, com a maior parte do tempo gasto em repromptar o agente de IA enquanto observava como a migração progredia e via vários problemas no site em construção.

O resultado é um site Hugo estático e rápido que não requer PHP e consome recursos mínimos. Atualizações automáticas garantem que a versão mais recente sempre seja executada.

Tudo isso tornou possível que 261 traduções e limpeza HTML fossem um trabalho de algumas horas em vez de um mês. O modelo GLM 5.1 produziu boas traduções, e onde errou, fez isso consistentemente, permitindo correções rápidas. Infelizmente, a qualidade da tradução nem sempre foi perfeita, então tive que executar o modelo deepseek-v3.1.671b depois para os retoques finais.

Honestamente, eu não pensava que um agente de IA seria capaz de uma migração tão complexa, e isso me faz pensar em quanto necessidade haverá para sysadmins no futuro. Lendo subreddits de programação, já é visível que, em vez de codificação simples, as pessoas estão se movendo mais para posições de gerente de projeto/product owner.

A questão é, como a profissão produzirá futuros profissionais de TI se não houver mais necessidade de equipe de helpdesk de nível inicial (1º nível). Não acho que teremos que esperar muito pela resposta…