在数字时代,经常需要在多个设备上同步和访问书签。尽管Chrome浏览器提供了强大的书签同步功能,但它的隐私问题也引起了人们的担忧。为了寻找一个更轻量级、更私密的书签管理方法,尝试了多种书签管理工具。最终,选择了一个名为bm的简单书签管理器,并结合了dmenu,这是一个在Linux系统上已经使用的轻量级菜单栏工具。
bm是一个简单的命令行界面(CLI)书签管理器,它将书签存储在文本文件中,并通过Dropbox、Nextcloud或其他云同步软件来实现跨设备的同步。bm支持Chrome、Firefox、Surf等任何浏览器,并且非常轻量级。
bm的书签文件每行存储一个书签,书签之间通过特定的分隔符分隔。例如:
bd8b3eff7fa82a0382a3e7576c5363b6|2016-01-18T07:21:36Z|:1|https://github.com/tj/bm|bm a cool enhanced bookmark tool for your console|default,shell
第一列是GUID,第二列是添加日期和时间,第三列目前不清楚其用途,第四列是URL链接,第五列是描述文本,第六列是逗号分隔的标签。
虽然bm提供了命令行界面来访问和管理书签,但认为这不是最方便的方式。希望能够不打开终端就能启动网页。
dmenu是一个为Linux设计的超轻量级菜单栏工具,由suckless团队开发。他们的软件以简单、清晰和节俭为重点,创建了性能极高的最小化软件。
创建了一个名为dmenu-bm.sh的脚本,它允许通过dmenu快速访问bm管理的书签。
#!/usr/bin/env bash
declare -A g bmarray;
while IFS=\| read -r guid date id url title tags;
do
bookmark="$title "-" "$url" "-" "$tags"";
bmarray["$bookmark"]="$url";
done < /home/owen/Nextcloud/bookmarks/bm.lnk
function load() {
while IFS=\| read -r guid date id url title tags;
do
bookmark="$title "-" "$url" "-" "$tags"";
printf "$bookmark\n";
done < /home/owen/Nextcloud/bookmarks/bm.lnk
printf
}
choice=$(load | dmenu -i -l 15 -p "Add/Open bookmark:")
case "$choice" in
Add) dmenu-bm-add.sh ;;
*) bm -o ${bmarray[$choice]} ;;
esac
这个脚本通过dmenu提供了一个用户友好的界面来添加或打开书签。
通过bm和dmenu,找到了一个简单且高效的书签管理解决方案。非常喜欢dmenu,如果有任何推荐的dmenu脚本,请分享给。
还在Bash脚本编写方面处于初级阶段,如果有任何改进建议,请告诉。会在提高技能后重新审视这个脚本,但目前它已经足够好用了。