Skip to content

Instantly share code, notes, and snippets.

@QWxleA
Last active June 7, 2022 16:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save QWxleA/f45ea94a67996b2b0e7bf3928154b821 to your computer and use it in GitHub Desktop.
Save QWxleA/f45ea94a67996b2b0e7bf3928154b821 to your computer and use it in GitHub Desktop.
Download nightly logseq release
#!/usr/bin/env bash
#
# downloads nightly logseq release
# returns error 3 if up-to-date
set -e
APPLOC="$HOME/Applications"
LOGBIN="$APPLOC/logseq-linux-x64-bin"
usage() { echo "Usage: $0 [-s <45|90>] [-p <string>]" 1>&2; exit 1; }
cleanup() {
rv=$?
rm -rf "$tmpfile"
[ -f "$name" ] && rm "$name"
exit $rv
}
get_gh_release() {
echo "Updating Logseq from GH"
curl -s https://api.github.com/repos/logseq/logseq/releases > "$tmpfile"
name=$(grep "name.*Logseq-linux.*nightly.*zip" "$tmpfile" \
| cut -d : -f 2,3 \
| tr -d \" \
| tr -d ,\
| awk '{$1=$1;print}')
name2=$(basename "$name" .zip)
}
get_nightly() {
echo "Downloading nightly"
cd /tmp
grep "browser_download.*Logseq-linux.*nightly.*zip" "$tmpfile" \
| cut -d : -f 2,3 \
| tr -d \" \
| wget -qi -
unzip -qq "$name"
mv Logseq-linux-x64 "$APPLOC/$name2"
ln -sf "$APPLOC/$name2/Logseq" "$LOGBIN"
ls -l "$LOGBIN"
}
trap "cleanup" EXIT
tmpfile=$(mktemp)
while getopts "lo" o; do
case "${o}" in
o)
xdg-open https://github.com/logseq/logseq/releases/nightly
exit
;;
*)
usage
;;
esac
done
shift $((OPTIND-1))
get_gh_release
if [ -d "$APPLOC/$name2" ]; then
echo "Logseq is up to date ($name2)"
exit 3
fi
get_nightly
echo "Finished updating Logseq to the latest snapshot"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment