私人图书馆“终极解决方案”——藏书管理和笔记系统
十二月_Dec.
长期以来没有找到符合自己需求的书籍管理工具,手机APP和Excel各有其局限。
于是利用周末时间搭建一个书籍管理系统。
使用的是Obsidian软件 + Dataview、QuickAdd等插件。
可实现以下几类功能:
1. 通过豆瓣导入书籍基本信息,或选择手动录入。
2. 生成表格显示所有书籍相关信息,并自由选择按照哪种方式进行排序。

3. 完成各类信息的统计
可根据基本字段分类统计书籍,如按作者、出版社等。也可以根据基本信息拓展更多的分析方法,如根据购买时间统计每个月购买书籍的数量和花费情况。

4. 统计阅读情况

5. 记录阅读笔记,构建自己的知识系统

下面分享一下主要搭建过程,感兴趣的可以参考,需要熟悉obsidian和相关插件的使用。如果没有这方面知识,强烈推荐视频:https://www.bilibili.com/video/BV1YT4y167dL/?vd_source=6d02c197c6cb438dff451b14b29c6080
讲解的很详尽,从豆瓣导入书籍信息的工具就是从这里学来的,非常感谢up主。
书籍管理功能实现
1. 建立所有书籍的数据库
1.1 首先建立一个书籍信息模板
模板顶部为一段YAML格式的数据(在md文件中就是2行`---`之间的字段),其包含所有想要录入的书籍字段。
具体包含哪些字段可以根据自己需求增减,这些信息就是书籍的metadata数据,是后续使用dataview生成表格基础,比如我的模板:

1.2 为每本书建立“书名.md”文件并录入对应字段信息。
每次添加一本书就是为其建立一个单独的md文件,然后填写对应字段的信息。下面是录入信息的方法:
1.2.1 笨方法:手动录入
即全部手动输入这些信息,很直接也很好理解,缺点是信息太多,每次录入比较繁琐。
1.2.2 自动录入书籍基本信息
使用的工具是:QuickAdd插件+Java脚本,实现此功能步骤麻烦一些,具体实现方法和工具下载同样可参考上文提到的视频,有详细的讲解步骤,再次感谢up主。
此方法可以从豆瓣自动导入书籍的基本信息,如书名、作者、出版社、豆瓣评分等等。剩下的字段如阅读、购买相关的信息仍需根据自己需要选择是否录入。最后完成书籍所有信息的录入。如下图:

1.3 完成1.2之后,就得到了对应书籍的md文件。
以后所有关于这本的书操作——如信息改动、记笔记等,都在这个文件中进行。
2. 使用dataview整理书籍信息
假设按照步骤1完成了多本书籍的metadata信息的录入(最好使用同一个文件夹存放所有书籍文件,方便管理。),接下来就可以使用obsidian中的dataview插件,根据自己需求把所有书籍信息以表格或列表的形式展现出来。
2.1 首先建立一个md文件,用于书架展示
2.2 在此文件中添加dataview语句完成所需功能
使用dataview的基本格式:
```dataview
需要输入的指令语句
```
dataview的强大之处在于通过简单的指令语句和函数,可以很方便的实现信息可视化,完成诸如排序、分类统计等很多功能。
2.3 所有书籍信息
比如,建立一个表格,展示所有图书信息:
```dataview
TABLE without id
"" AS "封面",
file.link as "书名",
作者,
出版社,
elink(豆瓣页面, string(豆瓣评分)) AS "豆瓣评分",
总页数,
字数 AS "字数(万)",
(date(读完时间) - date(开始时间)) AS 阅读用时,
阅读状态 + " " + round(已读页数/总页数, 3)*100 + "%" AS "阅读进度",
我的评级,
定价,
买入价,
round((买入价/定价), 2) AS "折扣",
date(购买时间) AS "购买时间",
购买渠道 AS "平台",
file.etags[1] + file.etags[2] AS "标签"
FROM "藏书/纸质书籍"
Sort 购买时间 Desc
```
- TABLE关键字(不区分大小写)表明生成的是表格,此外也可以生成列表(List关键字)。接下来的语句就是每一列要显示的信息。
- FROM关键字表示检索文件的路径。
- SORT关键字指定排序方法,如这个例子中是按购买时间倒序(DESC)排序。
更详细的使用方法和语法介绍请参考官方文档:Dataview.
这段命令生成的表格如下:

- 可以根据自己喜好选择显示metadata数据中哪些字段,也可以利用已有信息进行简单的计算,实现更多信息的统计和展示,如根据`已读页数`和`总页数`计算阅读进度。
- 点击书名可以跳转到对应书籍的文件,方便修改信息、记录笔记等操作。
2.4 各类统计功能
按照出版社、作者、标签分类、购买月份、购买平台等统计书籍信息。用到的是`GROUP`关键字。
如下为一些dataview示例。

以上只介绍了使用dataview统计书籍各类信息的基本用法,大家还可以根据自己需求完成更多的功能。
最后,总结一下,使用obsidian+dataview整理图书,相比于excel表格,优势在于信息管理和数据统计更灵活,同时借助obsidian的双向链接功能很方便的建立自己的知识(笔记)系统,有利于知识、笔记的管理;而相比于APP应用,优势在于所有数据保存在本地,不用担心丢失风险和APP停服风险。
唯一的缺点是录入信息工作比较繁琐,尤其是想要录入的字段比较多时,比如我用了两三个小时才录了60多本(后续可以探索更自动化的方法)。但字段越多,意味着分析书籍信息的角度越多,而且以后每次添加书籍,所有表格和统计信息会自动更新,所以长期来看,是一劳永逸的。因此录入也不着急一时间全部完成。
以上。
你的回复
回复请先 登录 , 或 注册相关内容推荐
最新讨论 ( 更多 )
- 拔草|这种封面真的很丑且不走心 (momo(专注版)
- 求解|请问各位书友怎么找爱书? (冰淇淋🍨)
- 求图像小说推荐 (NickName)
- 座谈|大家平时看书遇到的最大问题或者烦恼是什么啊 (nnn)
- 求推荐一些温暖治愈的书! (等待来信的鸡块)
