Journaling with The Archive

Activates The Archive and remind for Journaling

Image preview of Journaling with The Archive plugin.

journal.sh

Edit
Open on GitHub
#!/bin/bash

# <xbar.title>Journaling with The Archive</xbar.title>
# <xbar.version>v1.0</xbar.version>
# <xbar.author>Bruno Conte</xbar.author>
# <xbar.author.github>brunocbr</xbar.author.github>
# <xbar.desc>Activates The Archive and remind for Journaling</xbar.desc>
# <xbar.image>https://forum.zettelkasten.de/uploads/editor/xm/regzdy1vfk24.gif</xbar.image>
# <xbar.dependencies>bash,applescript,The Archive</xbar.dependencies>
# <xbar.abouturl>https://forum.zettelkasten.de/discussion/1559/better-journaling-with-the-archive-and-bitbar</xbar.abouturl>

SCRIPT_NAME=$(basename "$0")
SCRIPT_DIR=$(dirname "$0")
FLAG_FILE="$TMPDIR/remember-journal.tmp"
MENU_LINE="| bash='${SCRIPT_DIR}/${SCRIPT_NAME}' param1=click terminal=false"
DAY=`date +%Y%m%d`
ALERT_MODE=0

# Bookmark icon by Kiranshastry
# https://pngtree.com/so/bookmark-icon
ICON="iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAlmVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSATEAAgAAABEAAABah2kABAAAAAEAAABsAAAAAAAAAJAAAAABAAAAkAAAAAF3d3cuaW5rc2NhcGUub3JnAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAAAQgxyKAAAACXBIWXMAABYlAAAWJQFJUiTwAAACpGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+d3d3Lmlua3NjYXBlLm9yZzwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjUxMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj41MTI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KmmBAAwAAAYhJREFUWAntl81NBDEMhZffEw3QBSdqgQKogw5ogDKoADgDF25coAK4svy+T/Fbks2g3QmaA1Ke5HHisZ8dz47WM5uV2IztifST5EvyGZr1WHEsXHAC50i77Lod6yNpJzKB9y0654AbOFfaxXUr9JU0iV5DtyRdjjEX3MC5inZQKdhL6scp9n9RTmhu5yoKcAKqnwoV99APYmOq7OKtuIcKmDB/Td0L6B3oHegd6B3oHegd+Pcd+NA/PNKM1g4wWr1LmPUQ1tW4JdtKDI7HK6I8ZhN7Hr7M/HSCkav1UIt57VYkPiE6F58U26nEYG2/3GfZBjeoZsPc+FsBczmZ8JgAwY+ANTbfz32xuajmAvxh8SyyQwnYSapYcw8fkjpmdAE3QeCqTXQv+74E7CZVXG3DB9+8CHPBDdZ6BG9yRCC6kPjrJj+5zAV8D19iiM157sJ7sAAnuI5AgpGzCEKt89bkPsSaB30JieBcaRdXG3mOjxKeJa8XoOIxrxe+PiUcL5IHyYEELLi+ASCMrSyP9I3fAAAAAElFTkSuQmCC"
ICON_ALERT="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"
INTERFACE_STYLE=$(defaults read -g AppleInterfaceStyle 2>/dev/null)
if [[ "$INTERFACE_STYLE" = "Dark" ]]; then
    ICON="iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAlmVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSATEAAgAAABEAAABah2kABAAAAAEAAABsAAAAAAAAAJAAAAABAAAAkAAAAAF3d3cuaW5rc2NhcGUub3JnAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAAAQgxyKAAAACXBIWXMAABYlAAAWJQFJUiTwAAACpGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+d3d3Lmlua3NjYXBlLm9yZzwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjE8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjUxMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj41MTI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KmmBAAwAAAa5JREFUWAntVztSw0AMtQlQcQFuQcVZkgOk4RThArkAx+AEDHVCQ0cDBTVpCSHmvV29RYmZ+IMpmFnNyE+WpSdF68zIReGkqqoj3gKn0BcoZRuh11W55Joad6jhykYTAccWMHalROBcnU3PMbYaoRZt301FB+QqQrEGlmb/BshBLoq4VWungW2MKc4MR4ZDgLjErVo7DahQ6k6OAbHG7Y9AdYYYu7j2scb9UwP7SX96nxvIE8gTyBPIE8gTyBP49xP4xLJA7S19J8DVagPlrkelXVu34GuUtB43Rn4HcKFkMebemJs7PyfBlavTj+raAItow52VZXmNe37IvAJmtCE+JnraXEESFkbg0j49NoaCtQzghJzAEdXsiXvuY+kW19Jia8spyQ418G7kb8BLIzkhUuALNp9BGUNRDu1ODSyYAVGSiB7hO7eCp6Gyu+BZ8DEGyliKcsW1sPxWE/gAAZVyC9Wo0y939YOJGE2CR8Mciud5ONSACtzHvHSdqxA8jS+tj4E9TyzRuLMG9CKLOr5Q9pDn+AzlWU7NV8Ju/fdiLFTvFD/1V9An6IXxJa4v4JNxsnlzsu0AAAAASUVORK5CYII="
fi
CUR_ICON=${ICON}


if [[ -f "${FLAG_FILE}" ]]; then
    CUR_ICON=${ICON_ALERT}
    ALERT_MODE=1
fi

function switchTheArchive() {
    if [[ "${ALERT_MODE}" = 1 ]] ; then
        open "thearchive://match/${DAY}"
    else
        osascript <<EOF
tell application "System Events"
    set activeApp to name of application processes whose frontmost is true
    if (activeApp begins with "The Archive") then
        set visible of application process "The Archive" to false
    else
        do shell script "open \"thearchive://match/${DAY}\""
    end if
end tell
EOF
    fi
}

if [[ "$1" = "click" ]]; then
    switchTheArchive
    if [ -f "${FLAG_FILE}" ] ; then
        rm -f "${FLAG_FILE}"
        open 'xbar://refreshPlugin?name=journal.sh'
    fi
fi

echo "$MENU_LINE image=${CUR_ICON}"