#!/bin/bash -e COLOR_RED=`tput setaf 1` COLOR_GREEN=`tput setaf 2` COLOR_YELLOW=`tput setaf 3` COLOR_BLUE=`tput setaf 4` COLOR_RESET=`tput sgr0` trap 'handleError' ERR handleError() { cat < ) /_/ >___ \\ ___< <_| | |_______ \____/\___ /____ >\___ >__ | \/ /_____/ \/ \/ |__| EOT echo -n "${COLOR_YELLOW}" cat <<-'EOT' .___ __ .__ .__ | | ____ _______/ |______ | | | | ___________ | |/ \ / ___/\ __\__ \ | | | | _/ __ \_ __ \ | | | \\___ \ | | / __ \| |_| |_\ ___/| | \/ |___|___| /____ > |__| (____ /____/____/\___ >__| \/ \/ \/ \/ EOT echo -n "${COLOR_RESET}" } getVersionLatest() { VERSION_LATEST="$( wget -qO - https://github.com/logseq/logseq/releases/latest | grep -Poi "Logseq-linux-x64-\K\d\.\d\.\d" | head -n 1 )" } getVersionCurrent() { local FILENAME="$( find ~/.local/bin/ -iname Logseq-\*AppImage )" if [ -n "$FILENAME" ]; then VERSION_CURRENT="$( echo $FILENAME | grep -Poi "Logseq-linux-x64-\K\d\.\d\.\d" | head -n 1 )" else VERSION_CURRENT= fi } getLatest() { local URL="https://github.com$( wget -qO - https://github.com/logseq/logseq/releases/latest | grep -Poi "/logseq.*AppImage" )" local DIR_DEST=~/.local/bin FILENAME_LOGSEQ="$( basename "$URL" )" mkdir -p $DIR_DEST wget $URL --show-progress -qO $DIR_DEST/$FILENAME_LOGSEQ chmod u+x $DIR_DEST/$FILENAME_LOGSEQ } createDesktop() { local FILE_PNG=${HOME}/.local/share/applications/logseq.png [ -e $FILE_PNG ] || wget https://raw.githubusercontent.com/logseq/logseq/master/resources/icons/logseq.png -qO $FILE_PNG cat > ~/.local/share/applications/logseq.desktop <<-EOF [Desktop Entry] Encoding=UTF-8 Name=Logseq Comment=Wissensmanagement mit Logseq Exec=${HOME}/.local/bin/$FILENAME_LOGSEQ Icon=${HOME}/.local/share/applications/logseq.png Type=Application Categories=Office; X-GNOME-SingleWindow=true SingleMainWindow=true EOF update-desktop-database ~/.local/share/applications } showLogo getVersionLatest getVersionCurrent echo "Neuste verfügbare Version...... $COLOR_GREEN$VERSION_LATEST$COLOR_RESET" echo "Derzeit installierte Version... $COLOR_GREEN${VERSION_CURRENT:-${COLOR_RED}Keine installiert}$COLOR_RESET" [ "$VERSION_CURRENT" != "$VERSION_LATEST" ] || exit echo "Logseq Download gestartet" getLatest createDesktop echo "Logseq wurde installiert"