教你如何打造一个完整的个人文档管理系统(PDMS)

写了点打造PDMS(Personal Document Management System)的小总结:

原Blog地址:How to build a Personal Document Management System (PDMS) and why you need it | Damon Chan's Blog

13 个赞

最近写 org mode 突然想生成脑图,可惜 ox-freemind 生成的效果一般

  1. 和 freemind 最新版不一致,每次打开都提示转化
  2. 只能从一个文件生成,不能从 headline 生成
  3. UI 效果一般

可能用脑图的正确打开方式就是“画”,而不是从 outline 再生成…

排版工整漂亮,跟读周刊杂志一样。

谢谢你的支持,我会继续努力的。

能说说你写的pibot如何使用吗?菜鸟一枚,尝试运行,链接telegram的api出错了。

需要更改pibot.py中的代码吗?我设置了token。

你好看了你的文章,是使用calibre管理文件,我一直想建立类似的系统但是有两个问题

  1. calibre无法导入文件夹
  2. org mode无法插入calibre的文件链接

不知道楼主有没有比较好的方法?

calibre可以导入文件夹,只要你不要求保留原文件夹的结构。如果你想同时保留原目录结构和calibre的管理功能,可以考虑添加symbolic link到calibre。

我知道有两种方法:

  1. calibredb.el 有此功能 calibredb.el/calibredb-org.el at develop · chenyanming/calibredb.el 不过目前仅develop分支有此功能,点击链接似乎是跳转到对应calibre条目
  2. calibre导出bib书目,再用org-ref插入链接(cite:XXX)。这是我目前在用的方案,好处在于点击链接的操作更多样。比如:

下图为点击org-ref链接后的动作列表:

3 个赞

你还要安装dependency,telepot和其他里面用到的dependency(代码写得不够好,所以dependency要自己手动安装)。还有whitelist = [896631342],这里有whitelist功能,里面的是允许的telegram id,你可以填写自己的id。

我试了下Linux版本的calibredb不能导入文件夹对应的软链接呀,提示 calibre, version 5.10.1

无法把文件 test.ln 添加到书籍 错误: Traceback (most recent call last): File “calibre/gui2/add.py”, line 488, in add_formats File “calibre/db/cache.py”, line 1526, in add_format IsADirectoryError: [Errno 21] 是一个目录

可以用calibredb.el里面的calibredb-add,然后用ivy 批量mark你想要加入的书,也可以。

谢谢,后来改了id,可以使用了。

我使用calibredb-add好象也不行,这个是不是只能导入文档类型的,我想实现 yuchen-lea 说的,导入文件夹软链接,以实现使用calibredb管理文件夹的目的

首先,calibre不支持直接导入直接软连接,我自己用的是一个比较tricky的方法,添加文档后替换为同名的软连接。

另外,我觉得文件夹软连接应该不行,必须是文件的软连接。我不太理解文件夹软连接作为calibre的附件的意义,毕竟我们是希望用calibre管理文件。

举例来说:我的电影用tintmediamanager来获取元数据,整理目录结构,然后calibre中保存的是电影文件的软连接。这样既保证了电影的目录结构,可以被Jellyfin等专业流媒体服务识别,也可以在calibre中设置兴趣指数、观看状态等自定义项目,导出bib后与org-ref,org-media-note结合,方便做笔记。

2 个赞

了解了,是我想要它做的事情太多了,我希望的不只是文档管理,因为比如代码项目,gis文件,单个文件是没有意义的,必须要包含整个完整文件夹才可以

1 个赞

原来如此。这个需求挺特别的。可以尝试去官方calibre提这个需求。

请问2. open pdf 这一命令,能直接到指定的页码?如何实现的?

org-pdftools自带功能 org-pdftools-open-pdftools,点击链接pdf://path::page,自动打开path并跳转到page 或者自己把pdf-view-goto-page包一下