Script to publish Hugo sites for Github
So had to change my workflow to remove all old static files from
master and copy generated contents from hugo.
It becomes tedious to remember not to delete
hugo folder from my repo everytime I had to copy the generated content. So I wrote a
bash script to automate the tasks for me.
Works great, now I do not have to remember the critical files and just
./publish.sh from my
Be very careful as it run
rm -rf at line #5. So place the
publish.sh only in your repo’s root folder.
#!/usr/bin echo "[ 1/3 ] Going to remove previously generated files" # to delete files that are generated (.git and .ignore as they are hidden) rm -rf `ls | grep -v "CNAME\|hugo\|README.md\|publish.sh"` # switch to hugo directory and run hugo to build genereate content in hugo/docs and move generated files back to ./ echo "[ 2/3 ] To build static contents and copy" cd hugo && hugo && mv docs/* ../ && cd .. echo "COMPLETE" # git commit changes as "publish" echo "[ 3/3 ] Commit changes and push to github" git add . git commit -m "publish" git push origin --all echo "COMPLETE"
Latest version of the script can be found at https://github.com/palaniraja/palaniraja.github.com/blob/master/publish.sh