Este é o repositório do site do grupo CiDAMO (Ciência de Dados, Aprendizagem de Máquina e Otimização) da UFPR. Este repositório é aberto para manutenção pelos membros do CiDAMO. Caso você não seja do CiDAMO e queira contribuir alguma coisa, por favor abra um issue primeiro.
Disclaimer: Este repositório contém uma versão modificada do tema https://github.com/themefisher/airspace-hugo na pasta themes/airspace-hugo/.
A licença para o código do CiDAMO é MPL-2.0, listada em LICENSE, mas as imagens aqui contidas não são de domínio público e seu uso é restrito.
O resto deste documento é direcionado para desenvolvedores do site.
Este site usa o Hugo como framework. Infelizmente o código foi feito a partir de um tema pré-existente, então é muito mais complicado do que gostaríamos, e ninguém sabe 100% do que está acontecendo. Dito isso, segue uma descrição breve de cada diretório, em ordem de importância:
content/portugues: Diretório principal do conteúdo do site. Cada arquivo na raiz deste diretório é uma página, que pode ou não estar sendo utilizada. O formato varia um pouco por causa do template. Cada pasta aqui que tenha um arquivo_index.md, gera uma página nova.content/portugues/author/: Pasta com os autores do blog.content/portugues/blog/: Pasta com os blogs.content/portugues/equipe/: Pasta com a equipe. Provavelmente um merge com a pastaauthorseria útil.content/portugues/eventos/: Pasta com os eventos.
assets: Contém os arquivos Javascript e SCSS. Os arquivos SCSS são compilados automaticamente.layouts: Página com layouts HTML das páginas.static/images/: Imagens.themes/airspace-hugo/: Tema do airspace-hugo que foi modificado para nosso site. Infelizmente não é fácil descobrir o que foi mudado, e portanto não dá pra atualizar facilmente..github/workflows/: Workflows, como o de deploy.
Sobre os arquivos soltos na raiz, o config.toml também é relevante para o site.
O netlify.toml deve morrer quando acabarmos o Milestone MVP.
O .hugo_build.lock é coisa do Hugo, e não sei pra que serve.
Instale o Hugo (veja https://gohugo.io/getting-started/installing/).
A versão do Hugo usada atualmente é 0.101.0.
Idealmente, deveríamos usar o Docker, para manter todas as versões compatíveis. Como não tem tanta coisa que pode quebrar, no entanto, talvez não faça muita diferença - vamos descobrir em breve. Sendo assim, colocarei os comandos abaixo como se estivesse no Linux usando o
hugodireto. Caso você pretenda usar o Docker, basta mudarhugo COMANDOpordocker run -v="$PWD:/src" -p 1313:1313 klakegg/hugo:0.101.0 COMANDO
-v="$PWD:/src": Quer dizer manda a pasta atual ($PWD) para a pasta/srcdo Docker. Senão ele não tem os arquivos para compilar-p 1313:1313: Quer dizer transmita a porta1313do Docker pra minha porta local1313. É necessário para o comandoserverpara ver o site servido.klakegg/hugo:0.101.0: A imagem.
Rode
hugo serverpara ver o site em http://localhost:1313. Atualizações nos arquivos serão refletidas automaticamente.
Para ver uma versão compilada do site, rode
hugo buildEsse comando irá gerar a pasta public, que não deve ser adicionada ao git.
Essa pasta contém o site gerado, que não depende mais do Hugo.
Essa é a versão que é colocado online.
Atualmente estamos fazendo o deploy automático para o netlify em https://cidamo.netlify.app. Em breve vamos apagar essa versão, então não vamos explicar como funciona.
O deploy do site é feito com workflows do GitHub. O arquivo .github/workflows/deploy.yml informa ao GitHub como:
- Fazer o download desta pasta.
- Instalar o Hugo na versão certa.
- Rodar o build do Hugo.
- Subir a pasta
publicpara o branchgh-pages.
A branch gh-pages contém a versão compilada do site, e a partir desta branch, o GitHub gera o site.