From fe1109934505013b3356def93c8a3be450dd5a24 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Thu, 9 Mar 2023 02:05:58 +0100 Subject: home/news: script to fetch pdfs from websites --- home/home.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'home/home.nix') diff --git a/home/home.nix b/home/home.nix index 23e1abd..74f6bde 100644 --- a/home/home.nix +++ b/home/home.nix @@ -53,6 +53,30 @@ agenda = "CLICOLOR_FORCE=1 almanac month ~/.cache/feedsync/* | less"; xmlpretty = "xmllint --format - | bat -l xml"; }; + functions.fetchpdf.body = '' + set url $argv[1] + if test "$url" = "" + echo "No url given" + return + end + set choice (curl $url | rg -e ']*href="([^"]*\.pdf)"[^>]*>([^<]*)' -o | sed 's/]*href="\([^"]*\)"[^>]*>\(.*\)<\/a>/"\1" "\2"/g' | fzf) + if test "$status" != 0 + return + end + set docurl (echo $choice | sed 's/"\(.*\)" ".*"/\1/g') + set docname (echo $choice | sed 's/".*" "\(.*\)"/\1/g') + echo Fetching $docname from $docurl + curl "$docurl" > ~/Downloads/news/"$docname".pdf + zathura ~/Downloads/news/"$docname".pdf + if test (read -P "move this file to archive? [y/N] ") = "y" + set filename (read -P "filename? [$docname] ") + if test "$filename" = "" + cp ~/Downloads/news/"$docname".pdf ~/archive/"$docname".pdf + else + cp ~/Downloads/news/"$docname".pdf ~/archive/$filename + end + end + ''; }; programs.kitty = { @@ -147,6 +171,7 @@ macro v set browser "kitty @launch --type tab mpv --ytdl-format='bv[height<=1100]+ba' %u > /dev/null" ; open-in-browser ; set browser "${config.programs.newsboat.browser} %u" macro f set browser "${pkgs.xdg_utils}/bin/xdg-open %u >/dev/null 2>&1 &" ; open-in-browser ; set browser "${config.programs.newsboat.browser} %u" + macro d set browser "kitty @launch --type tab fish -c 'fetchpdf %u'" ; open-in-browser ; set browser "${config.programs.newsboat.browser} %u" bind-key j down bind-key k up -- cgit v1.2.3