diff --git a/README.md b/README.md index b0ef7ec..d633093 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ -# Logseq-Installer +# Logseq Installer + +Das Skript installiert bzw. aktualisiert Logseq. Anschließend lässt sich Logseq über das Startmenü ausführen. + diff --git a/logseq-install.sh b/logseq-install.sh new file mode 100755 index 0000000..b102f9f --- /dev/null +++ b/logseq-install.sh @@ -0,0 +1,99 @@ +#!/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() { + wget https://raw.githubusercontent.com/logseq/logseq/master/resources/icons/logseq.png -qO ${HOME}/.local/share/applications/logseq.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"