全部项目

阅读与检索 / 原创

neoview

看本地漫画和图包,翻起来得快、得顺手。

我在这项目里干了啥

跨平台阅读器与本地缩略图管线

用到的技术栈

Tauri 2 / Svelte 5 / Rust / SQLite

neoview:用 Tauri 和 Rust 写的跨平台本地看图/看漫画工具,缩略图生成和目录缓存全在本地搞定。的原理示意图
用 SVG 画的原理示意图(不是软件截图,主要为了把底层是怎么跑的讲清楚)。

为什么做这个

硬盘里攒了一堆本地图包和漫画,很多看图软件要么扫目录慢半拍,要么每次打开都重新转圈生成缩略图。其实阅读界面好不好看是一回事,底下的缓存和读取顺不顺才真正决定体验。

我是怎么搞定的

前端用 Tauri 2 和 Svelte 5 搭界面,脏活累活全交给底层的 Rust,再用 SQLite 在本地管好目录索引和缩略图缓存。第二次打开同一个文件夹时,基本不用等。

现在做成了什么样

做成了能直接扫本地目录、带缩略图缓存的桌面阅读器。页面上的插画特意把后台怎么生缩略图、怎么走缓存画了出来,那才是这工具花心思最多的地方。

提前说清楚的局限

平时自己够用为主,没去做极限性能跑分,也不敢说通吃所有稀奇古怪的格式。具体支持哪些格式、在各系统上有什么差异,仓库 README 里有实话实说。

做的时候怎么权衡的

所有数据都留在本地

直接读硬盘里的真实文件夹,生成的缩略图和索引也全存在本地 SQLite 里,不搞云端同步那套。

把缩略图当成核心工程做

翻图卡不卡,全看缩略图管线给不给力,所以专门把读取、切图和落盘缓存拆出来打磨。

Mac 和 Windows 都得顺手

因为我自己两台电脑换着用,路径分隔符、快捷键和窗口行为都得两边兼顾。

顺便看看下一个grzeb

在整片文件夹里搜内容,结果依然保留目录层级。