此文章介绍文档库的详细使用,如果你没看过 MWeb 的基本使用,建议你先去看一下。
文档库结构及存储位置
MWeb 的文档库是保存在一个你开始使用 MWeb 时设置好的文件夹内,由 docs 文件夹,mainlib.db 文件和 metadata 文件夹组成。其中 docs 文件夹里保存的是每一篇笔记及笔记的相关素材。mainlib.db 文件保存的是分类和 Tag 信息以及笔记所属于的分类信息。metadata 文件夹只有在使用到发布服务时才会有,保存的是发布服务相关信息。下图就是一个典型的文档库。
这种结构可以很好的备份和用于 git,同时也避免误删除,因为不可能会无故删除这么多文档。
保证文档库数据安全
下图为 MWeb 中文档库的设置和备份,设计好好的备份策略,有利于保证文档库永远不会丢失。MWeb 的文档库就是一个文件夹,你可以直接使用 在 Finder 中显示
按钮,找到文档库的位置,直接复制到其它地方进行备份。还可以利用下面的备份文档库功能进行定时备份。
关于备份位置为什么要设置三处,是觉得可能有一些用户会需要,但是我认为,通常两处就不会有问题了。只要把一处设置在有历史记录的网盘中,另一处设置在其它硬盘的位置,或者不设置,也是可以的。但是建议务必设置一个位置在有历史记录功能的网盘中,或者是像时间机器这种设备中,因为文档库总是与备份位置同步的。
如果你要恢复已备份的文档库,请先把备份的文档库复制到一个你想要的位置,然后再使用 选择现有文档库
选择这个位置。这样你的文档库就恢复过来并使用所选择的位置做文档库的位置了,如下图:
分类树的使用方法
MWeb 的分类有两种,一种是普通的分类,如下图:
一种是静态网站分类,这个分类可以生成静态网站,如下图:
MWeb 提供一个非常简单的方法再把分类下的文档生成一个静态网站,比如 MWeb 中文官网就是用 MWeb 的静态网站功能生成的。
界面左边的分类树配合 右键
及拖拽就可以完成相关的管理操作。中间的文档列表栏可以把文档拖拽至左边的分类以进行文档分类的管理。这种拖拽有三种情况,以下都假定拖拽到分类A:
- 直接拖拽当前文档到分类A。这种情况下,如果列表中的文档属于当前选中的分类,则会移动到分类A,否则的话,则为拖拽的文档增加到分类A。
- 按住
CMD
键拖拽当前文档到分类A。这种情况下,会为拖拽的文档增加增加到分类A。 - 按住
Option
键拖拽当前文档到分类A,这种情况下,如果所拖拽的文档属于分类A,则取消文档属于分类A,如果不属于分类A,则不做任何操作。
这种操作方法的地方是可以多选,也就是可以批量管理。如果是单个文档,有更好的办法,就是点击编辑器最上面的信息条,然后进行勾选,如下图:
这个地方也是唯一可以设置文档标签(tag)的地方,下面介绍的标签,设置是用这个办法。你也可以使用快捷键 CMD + 8
来打开这个界面。
文档间的引用
在 MWeb 中引用其它文档非常简单,在文档列表中,右键要引用的文档,选择 复制
,如下图所示。
然后在要引用的文档的位置 CMD + V
粘贴即可,MWeb 会生成 [如何使用“发布脚本”功能发布静态网站](how_to_use_shell_script.html)
这种语法。如果你按住 CMD
键并点击,则会打开这个引用的文档。
文档排序
文档库支持多种排序方式,而且每个顶层分类还可以单独设置自己的排序方式。修改排序方式的办法有两种,一种是如下图所示:
另一种是,选中要修改排序的顶层分类或者顶层分类下的某一子分类,然后在文档列表中右键,如下图所示:
在各种排序中,自定义拖拽排序比较特殊,需要特别说明。在说明之前,我先说明一个全局选项:按分类分组显示
。在文档列表中右键,就可以看到这个功能的菜单,如果在启用状态,则表示列表中的文档都在以分类分组显示的状态,不管是什么排序设置。
这个用处其实也是查找和整理文档。但是如果这个全局选项不是启用状态,那么,如果排序设置为自定义拖拽排序,则这个顶层分类也会按分类分组显示的。也就是说,只要是自定义拖拽排序,文档列表栏必定是分组显示的。
这个是由于一个文档可以属于多个分类造成的规则设定,不然会比较乱。
如果你在一个不是自定义排序的分类尝试拖拽,MWeb 会提示你先设置为自定义拖拽排序,然后才能拖拽。自定义拖拽排序分类下的文档,建议保证只属于一个分类,这样拖拽排序才不会乱。
标签的使用方法
MWeb 中标签(tag)的功能还非常简单,设置标签的方法,上面有说到了,另外就是按标签查看文档了,这个功能如下图所示:
可以看出 MWeb 会列出整个文档库的标签,选择后即可按标签查看文档。
文档大纲视图
如下图所示,文档大纲视图会列出当前文档的标题和插入的图片及附件,当然还有可以设置静态网站用的扩展项目(如果当前的文档属于某个静态网站分类的话)。下图是把大纲视图拖拽出来后固定的效果。
文档库的导入和导出
如下图所示,文档库支持导入 Markdown 文档到文档库中。如果导入的时候你选择的是一个文件夹,MWeb 会把文件夹内的所有 Markdown 文档导入到当前所选择的分类。如果文件夹的 Markdown 文档中有本地图片,也会一并导入并修改为文档库格式的图片地址。这个是 3.x 版才有的,2.x 版只会导入 Markdown 文本,不会导入图片。需要说明的是,要导入图片,请一定要选择整个文件夹。
另外还可以把整个分类导出为 Markdown,导出后的 Markdown 文档会按分类的结构建立文件夹。按分类结构建立文件夹这个也是 3.x 才有的功能。
剩下的两个就是导出为 Epub 和 PDF 了,没错,可以把整个分类都导出为 Epub 或 PDF!
全键盘导航
任何时候,可以快捷键 CMD + Shift + F
把焦点切换至搜索框(外部模式切换到目录树)。只记这一个,基本就可以在 目录树 - 列表 - 编辑器
这三处随意切换了。
这是因为,在搜索框按 Tab 键
可以切换到编辑器,按 向下键
可以切换到列表。焦点在列表时,按 向左键
切换到目录树,向右键
切换到编辑器;焦点在目录树时,可以按 向右键
切换到列表。另外切换 Tabs 可以使用 Ctrl + Tab
键,CMD + Shift + [或]
键,切换 Tab 时焦点会切到编辑器。
另外还有快速搜索是 CMD + O
,外部模式没有搜索框时,可以使用这个来进行搜索。
文档库相关问题
文档库一般情况下不会有问题的,这里讨论的是假如发生意外的方案。
上面的文档库结构有说到,MWeb 的文档库是一个文件夹,由文件夹里的 docs 文件夹和 mainlib.db 文件组成。其中 docs 文件夹包括了所有笔记,一篇笔记一个文档,以数字 + .md 的形式保存。如果文档库有问题,通常是以下几种情况:
1. 文档库位置不正确。
在 MWeb 3.1.4 及之上的版本,文档库位置不正确,会自动打开 偏好设置
- 文档库&备份
并在 文档库位置
中会有红字提示,如下图这样:
这种情况的话,你可以按以下几种方法解决:
- 如果提示的那个位置不是你原来的文档库,可以使用 使用
修改文档库到其它位置
-选择现有文档库
选择回原来的文档库,MWeb 的文档库是一个文件夹,里面包含有一个docs
文件夹和一个mainlib.db
文件。 - 如果你的文档库是保存在 iCloud Drive 上的,请确认你当前的 iCloud 帐号是否是原来的,或者是否已注销。
- 如果不知道的话,可以搜索整个 mac 中的 mainlib.db 文件,找到原来的文档库的位置。然后用
选择现有文档库
选择那个位置恢复。 - 如果你有按照上面的 保证文档库数据安全 部分把文档库备份到了一个有历史记录的网盘中,还可以把文档库从历史记录从恢复,然后复制到你想设置 MWeb 文档库的位置,再使用
选择现有文档库
按钮进行恢复。
2. mainlib.db 有问题或同步时损坏
mainlib.db 这个文件是保存所有分类及标签,以及分类及标签下所属于的文档的信息的。如果你遇到分类结构没有了,就是这个问题。由于 mainlib.db 文件比较重要,所以 MWeb 每天都有自动备份一份 mainlib.db 文件,备份位置在 ~/Library/Containers/com.coderforart.MWeb3/Data/Library/Caches
,你可以先关闭 MWeb,然后选择一个备份的 mainlib.db 文件,然后复制到原来的位置,再启动 MWeb。
3. 想初始化 MWeb 文档库
如果你想初始化 MWeb 的文档库,办法有:
- 下载 https://cdn.mwebapp.cn/MWebInitLibrary.zip 并解压,再用
选择现有文档库
选择解压后那个位置即可。 - 在命令行中运行命令:
defaults delete com.coderforart.MWeb3
,此操作会删除 MWeb 的所有偏好设置,一切重新开始。