Hello World
non-tech tech hugo github-actions github-pagesEu já tentei manter um site pessoal na internet N vezes. Nunca foi “pra frente”. Essa é a tentativa N + 1.
Não preciso ser convencido da importância da escrita, sei dos benefícios que posso tirar dela. Escrever nos ajuda a entender as coisas, robustece nosso pensamento. Existem coisas que parecem bem estruturadas na nossa cabeça até que tentemos escrever ou conversar com alguém sobre. Escrever é debugar a si mesmo.
Depois que entendi isso, abandonei qualquer pretensão de originalidade, que, aliás, é superestimada.
Ainda assim, a procrastinação seguia. Eu implicava com 2 coisas principalmente: a organização do conteúdo e a stack.
Organização do conteúdo
Ter um blog em que escrevesse tudo que eu quisesse, usando apenas tags para organizar o conteúdo, não me parecia ideal. E se alguém de TI entrasse no site buscando conteúdo técnico e tivesse que navegar por um monte de textos opinativos? E se alguma amiga de fora da área de tecnologia entrasse no site e visse um monte de textos sobre desenvolvimento de software?
Quero poder escrever sobre tudo que me interessa, mas também não quero alienar uma potencial audiência apresentando tudo “junto e misturado”, numa forma difícil de navegar.
Considerei sites separados para cada tipo de conteúdo, mas o trabalho extra necessário para manter mais de um site me demoveu dessa ideia. Fora que suscita a pergunta: qual critério eu deveria usar para colocar determinado conteúdo num site e não no outro? Os sites pessoais mais interessantes que conheço tratam de tudo que “dá na telha” dos donos. O meu seria assim também.
Foi remoendo as questões acima que decidi usar a organização com 2 taxonomias (categorias e tags), que já é usada em muitos blogs.
- Uma categoria é uma classificação mais ampla e dificilmente um post vai estar em mais de uma categoria. Para começar, terei 2 categorias: uma para posts técnicos e outra para posts não técnicos.
- Uma tag é uma classificação mais estrita e frequentemente um post terá mais de uma tag.
Além disso, existem as seções de conteúdo separadas. Nelas cada página pode receber categorias e tags também, mas elas são apresentadas de forma diferente dos textos. A única seção separada hoje é a de leituras. Pretendo que cada página sobre um livro mostre ao menos uma imagem da capa e informações do livro em destaque.
Cada categoria, tag e seção separada terá seu próprio feed RSS. Um potencial leitor pode assinar o feed específico e acompanhar apenas o conteúdo de seu interesse.
Stack
Depois de algumas tentativas de usar CMSs, ficou claro que eu não queria ter o trabalho de instalar e manter atualizados os softwares de uma pilha LAMP.
Geradores de sites estáticos seriam meu caminho. Li sobre as opções disponíveis e fiquei convencido de que o melhor “no mercado” é o Hugo. Decidi usá-lo. Gostei do que vi nos primeiros usos, mas demorei um pouco até encontrar um livro que me ensinou decentemente sobre ele.
Para hospedagem, estou usando GitHub Pages.
Para fazer o build e o deploy, estou usando GitHub Actions. Existem actions prontas para instalar o Hugo e fazer o deploy no GitHub Actions, então o workflow fica relativamente simples.
O primeiro lugar em que li sobre esse tipo de workflow foi em morling.dev, no post Automatically Deploying a Hugo Website via GitHub Actions. Seguindo esse caminho, você fica com um repositório único que contém o código fonte do site (em um branch principal) e os arquivos que efetivamente são servidos (em um branch órfão gp-pages
).
Outro padrão que vi sendo bastante usado é ter 2 repositórios: um só para o código fonte e outro só para os arquivos que serão servidos pelo GitHub Pages. Veja um exemplo em Hugo: Deploy Static Site using GitHub Actions
Pensar nisso tudo acima antes mesmo de ter o que postar é complicar demais o que é simples, você deve estar pensando. O ideal seria simplesmente começar e ir ajustando o que fosse necessário pelo caminho.
E você estaria certa. Procrastinei manter um site na web por muito mais tempo do que me orgulho. Estou com o domínio gmgall.net “parado” há vários anos.
Protelei tanto por uma ansiedade de me expor que só consegui lidar melhor com ajuda. Então deseje-me sorte e seja bem vinda, pessoa leitora! 😁