[download]

local/bin/moonday

   1 #!/bin/bash
   2 
   3 f=~/.cache/moonday
   4 left(){ # {{{
   5     while read t s; do
   6         n=$(date -d $t +%s 2>&-) || { echo "$t $s" && continue; }
   7         n=$(( n - $(date +%s) ))
   8 
   9         echo "$n ${t%:*} $s $(date -ud @$n +'%_H %_M')" | awk '{
  10             if ($1 < 0) printf "%s %-7s\n", $2, $3
  11             else printf "%s %-7s через %s\n", $2, $3, ($4 ? $4 " ч." : $5 " м.")
  12         }'
  13     done
  14 } # }}}
  15 
  16 [[ $(date +%F) == $(date -r $f +%F) ]] && cat $f | left && exit
  17 
  18 IFS=- read moonphase moonday dawn sunrise zenith sunset dusk < <(
  19 curl -s 'https://wttr.in/spb?lang=ru&format=%m-%M-%D-%S-%z-%s-%d')
  20 [[ ! $moonphase || $moonphase == Unknown* ]] && cat $f | left && exit
  21 
  22 declare -A names=(
  23     [🌑]='новолуние'
  24     [🌒]='молодая луна'
  25     [🌓]='первая четверть'
  26     [🌔]='прибывающая луна'
  27     [🌕]='полнолуние'
  28     [🌖]='убывающая луна'
  29     [🌗]='последняя четверть'
  30     [🌘]='старая луна'
  31 )
  32 
  33 echo $moonphase > $f.ico
  34 echo "$moonday-й л.д. ${names[$moonphase]}
  35 $dawn рассвет
  36 $sunrise восход
  37 $zenith зенит
  38 $sunset заход
  39 $dusk сумерки" | tee $f | left
  40 printf '<svg><text font-family="Emoji"
  41 y="22" font-size="24">%s</text></svg>' $moonphase > $f.svg