Atualizando o HTML do seu site de páginas GitHub com muito pouco esforço

Aqui está um script que uso para o meu site, onde uso o Hugo para gerar todo o HTML do meu site para o ./publicdiretório. Em seguida, executo esses comandos para substituir o conteúdo do nome de usuário .github.io pelo novo HTML.

git clone git@github.com:username/username.github.io.git --branch master --single-branch /tmp/master
rm
-Rf /tmp/master/*
cp
-Rf ./public/* /tmp/master/
touch
/tmp/master/.nojekyll
echo
"ryanparman.com" > /tmp/master/CNAME # If you are serving from a CNAME
find
/tmp/master -type d | xargs chmod -f 0755
find
/tmp/master -type f | xargs chmod -f 0644
cd
/tmp/master/ && git add . && git commit -a -m "Automated commit on $$(date)" && git push origin master
rm
-Rf /tmp/master

O que está acontecendo?

  1. Clone apenas o masterramo para /tmp/master.
  2. Remova todo o conteúdo.
  3. Adicione o novo conteúdo.
  4. Crie um .nojekyllarquivo para que o GitHub Pages não mexa no meu HTML.
  5. Se você estiver servindo seu site de páginas do GitHub com um CNAME (por exemplo, ryanparman.com), escreva um CNAMEarquivo de texto.
  6. Altere todas as permissões de diretório para 0755e todas as permissões de arquivo para 0644(um conjunto de permissões muito seguro).
  7. Adicione e confirme tudo e envie.
  8. Limpar.