lobsters.dcgi - gophercgis - Collection of gopher CGI/DCGI for geomyidae
 (HTM) hg clone https://bitbucket.org/iamleot/gophercgis
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       lobsters.dcgi
       ---
            1 #!/bin/sh
            2 
            3 . ../common/config.sh
            4 
            5 CGI="${CGI_BASEDIR}/lobsters/lobsters.dcgi"
            6 COMMENTS_CGI="${CGI_BASEDIR}/lobsters/comments.dcgi"
            7 
            8 #
            9 # FIXME: the logic in `newest' and `hottest' for pagination is broken
           10 # FIXME: because ${page_n} is not defined... Fix it!
           11 #
           12 page="$2"
           13 case "${page}" in
           14 page/[0-9]*)    page_n=${page##page/} ;;
           15 newest)         ;;
           16 hottest)        ;;
           17 *)              page="page/1" page_n=1 ;;
           18 esac
           19 
           20 echo "t"
           21 echo "tLobsters"
           22 echo "t"
           23 
           24 curl -Lgs -- "https://lobste.rs/${page}.json" |
           25 jq -r '
           26 .[] |
           27 (if .url != "" then
           28     "[h|" + ( .title | gsub("\\|"; "\\|") ) + "|" + "URL:" + .url + "|server|port]"
           29  else
           30     "[1|" + ( .title | gsub("\\|"; "\\|") ) + "|" + "'"${COMMENTS_CGI}"'?" + .short_id + "|server|port]"
           31  end),
           32 "tvia " + .submitter_user.username + "    " +
           33     ( .created_at[0:19] + "Z" | sub("T"; " ") | sub("Z"; "") | sub(":[0-9]+$"; "") ) +
           34     "    " + ( .tags | join(", ") ) + "    " + "(" + ( .score | tostring ) + ")",
           35 "[1|Comments: " + ( .comment_count | tostring ) + "|" + "'"${COMMENTS_CGI}"'?" + .short_id + "|server|port]",
           36 "t"
           37 '
           38 
           39 if [ "${page_n}" -gt 1 ]; then
           40     prev_page_n=$((page_n - 1))
           41     prev_page="page/${prev_page_n}"
           42     echo "[1|<< Page ${prev_page_n}|${CGI}?${prev_page}|server|port]"
           43 fi
           44 
           45 if [ "${page_n}" -ge 1 ]; then
           46     next_page_n=$((page_n + 1))
           47     next_page="page/${next_page_n}"
           48     echo "[1|>> Page ${next_page_n}|${CGI}?${next_page}|server|port]"
           49 fi