请教一下 macOS 中 newsboat 该怎么优雅地显示图片?

2022-07-19 19:01:48 +08:00
 HanningWu

环境

背景信息

目前 macOS 下的 w3m 缺乏 w3mimgdisplay 命令,也缺乏 ueberzug ,所以终端下的图片显示只能依赖终端模拟器本身的图形协议来完成(常见的终端 kitty 和 iTerm2 都自带图形协议)。Newsboat 本身是一个终端下的 RSS 阅读器,主要用于文字阅读;然而我订阅的 RSS 不可避免需要图片预览,比如 xkcd 就是一个纯图片的 feed…

楼主目前思路

先是看到有人搞出了一套能够实现图片预览的 pager,可惜对方使用了 w3m ,所以没法直接拿来用。我依样画葫芦从 kitty 自带的图片预览 icat 出发

  1. 先抓取文章中的图片链接
  2. 下载到本地的 /tmp 目录下
  3. kitty +kitten icat在终端中显示图片
  4. 写成代码,然后在 newsboat 里配置成一个 pager
#!/usr/bin/env bash

function urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; }

if grep -qE "xkcd" "${1}"; then
    # 下载 xkcd 源中的图片,然后用 icat 预览
    image=$(grep -E -o "https?://[a-zA-Z0-9./?=_%:-]*.(jpg|png|JPG|PNG)" < "${1}" | tail -1)
    cd /private/tmp/
    imagepath="${image/https:\///private/tmp}" 
    imagepath=$(urldecode "$imagepath")  
    if [[ ! -f "$imagepath" ]]; then    
        # echo "downloading..."
        nohup wget -q -m "$image" &>/dev/null
    fi
    kitty +kitten icat --hold "${imagepath/jpg/png}"
else
    # 其他 feed 改成 less
    less "${1}"
fi

这个方法目前的问题是,对于纯文本的条目只能改用less做 pager ,无法用 newsboat 自带的 pager 了。会多几次按键操作,阅读效率降低。不知道有没有朋友在 macOS 下也折腾过 newsboat ,请支支招。

963 次点击
所在节点    macOS
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/867346

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX