diff --git a/.gitignore b/.gitignore index d7f4147..ed87891 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ public resources .hugo_build.lock data +fetch-and-convert.sh +deploy.sh diff --git a/README.md b/README.md index 9d9bff1..caed132 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Hugo is Static Site Generator. It should be available in your packet manager. Download nak binary from https://github.com/fiatjaf/nak/releases/latest and put it in your path (the dirty way). Note that the example bellow downloads a version that migh be outdated at the time you are reading this. #### Example for Linux AMD64 -``` +```bash wget https://github.com/fiatjaf/nak/releases/download/v0.20.2/nak-v0.20.2-linux-amd64 chmod +x nak-linux-amd64 sudo mv nak-linux-amd64 /usr/local/bin/nak @@ -142,10 +142,14 @@ chmod +x deploy.sh Add to crontab (runs every 30 minutes) # Edit crontab +```bash crontab -e +``` # Add this line: +```bash */30 * * * * /path/to/your-cloned-git/deploy.sh +``` Alternative: Different intervals diff --git a/exemple.deploy.sh b/exemple.deploy.sh new file mode 100644 index 0000000..5f2c191 --- /dev/null +++ b/exemple.deploy.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +# Configuration +SITE_DIR="/path/to/your-cloned-git" +WEBROOT="/probably/var/www/html" +LOG_FILE="$HOME/nostr-site-deploy.log" + +date '+%Y-%m-%d %H:%M:%S' > $LOG_FILE # we wipe the log file from rpevious entries, because no history here is super important + +cd $SITE_DIR +/usr/bin/git pull >> $LOG_FILE +/usr/bin/bash fetch-and-convert.sh >> $LOG_FILE +/snap/bin/hugo --cleanDestinationDir --minify >> $LOG_FILE + +# Optional and potentially dangerous: the generator will creates a random file name (fingerprint) for css and js to be picked up when you do changes to it. If you don't remove them, over time your directory will bloat. A new file is only created if there are changes. +# This can be dangerous because if you set the webroot wrong, you're going to nuke stuff you wasn't supposed to. +#/usr/bin/rm $WEBROOT/css/* +#/usr/bin/rm $WEBROOT/js/* + +/usr/bin/rsync -av $SITE_DIR $WEBROOT/ >> $LOG_FILE diff --git a/fetch-and-convert.sh b/exemple.fetch-and-convert.sh similarity index 92% rename from fetch-and-convert.sh rename to exemple.fetch-and-convert.sh index 9043721..3b0d960 100755 --- a/fetch-and-convert.sh +++ b/exemple.fetch-and-convert.sh @@ -1,8 +1,8 @@ #!/bin/bash # Configuration -PUBKEY="setto@basspistol.org" -RELAY="wss://basspistol.org" +PUBKEY="YOUR_PUBKEY" +RELAY="wss://mega.supercool.relay" DATA_DIR="data" # Clean up old JSON files (optional)