Joplin 是一款开源的跨平台笔记和待办事项应用程序。它可以处理大量笔记,将笔记组织到笔记本中,并可以在多个设备之间同步它们。笔记可以在 Markdown 中编辑,可以直接在应用程序内编辑,也可以使用您自己的文本编辑器编辑,并且每个应用程序都有一个选项可以渲染带有格式、图像、URL 等的 Markdown。任何数量的文件,例如图像和 PDF,都可以附加到笔记中,并且 笔记也可以被标记。
当 Evernote 更改其定价模式时,我开始开发 Joplin,因为我希望我的 4,000 多条笔记以更开放的格式存储,不受任何专有解决方案的限制。为此,我开发了三个 Joplin 应用程序,全部都在 MIT 许可证下:桌面版(Windows、MacOS 和 Linux)、移动版(Android 和 iOS)以及终端版(Windows、MacOS 和 Linux)。所有应用程序都具有相似的用户界面,并且可以相互同步。它们基于开放标准和技术,包括 SQLite 和 JavaScript 作为后端,以及 Terminal Kit (Node.js)、Electron 和 React Native 用于三个前端。
Joplin 是离线优先的,因此即使没有互联网连接,数据也始终在设备上可用。
同步
创建 Joplin 时,我的目标之一是避免受制于任何特定的公司或服务来进行同步。因此,它的同步设计没有任何对任何特定服务的硬性依赖。大多数同步过程都在抽象级别完成,而对外部服务(例如 OneDrive 或 Dropbox)的访问是通过轻量级驱动程序完成的。通过创建提供类似文件系统界面的简单驱动程序(即读取、写入、删除和列出项目的功能),可以轻松支持新服务。
可以从一项服务切换到另一项服务,甚至可以同时同步到多项服务。每个笔记、笔记本和标签,以及项目之间的关系,都在同步期间以纯文本文件传输,这意味着数据也可以轻松地移动到不同的应用程序、备份、检查等。此同步后端旨在持久耐用且面向未来。
目前,可以使用 OneDrive(默认)或本地文件系统(允许通过网络共享进行同步)进行同步。一旦 React-Native 错误 修复,Dropbox 驱动程序也将可用。当与 OneDrive 同步时,Joplin 会在 OneDrive 中创建一个子目录,位于 /Apps/Joplin
中,并从中读取/写入笔记和笔记本。应用程序无权访问此目录之外的任何内容。
要启动同步过程,请按照以下步骤操作
- 桌面应用程序: 单击侧边栏中的同步按钮。系统将要求您登录 OneDrive 以授权应用程序(只需输入您的 Microsoft 凭据;您无需注册 OneDrive)。之后,应用程序将在后台运行时同步,或者您可以单击同步以启动手动同步。
- 终端应用程序: 输入
:sync
。系统将要求您点击链接以授权应用程序。之后,应用程序将在后台运行时同步。您也可以通过在终端中输入joplin sync
在用户界面之外进行同步。这可用于设置 cron 脚本以定期同步。例如,这将每 30 分钟执行一次
*/30 * * * * /path/to/joplin sync
- 移动应用程序: 单击同步按钮并输入您的 OneDrive 凭据。
附件
任何类型的文件都可以附加到笔记中;在 Joplin 中,这些文件称为“资源”。在 Markdown 中,指向这些文件的链接表示为资源的简单 ID。在笔记查看器中,将显示图像文件,而 PDF、文本文件或其他类型的文件则显示为链接。单击链接将在默认应用程序中打开该文件。
从 Evernote 导入笔记
Joplin 设计为 Evernote 的替代品,因此它可以导入完整的 Evernote 笔记本,以及笔记、标签、资源(附加文件)和笔记元数据(例如作者、地理位置等),通过 ENEX 文件。要导入 Evernote 数据,请首先将您的 Evernote 笔记本导出为 ENEX 文件。
要将您的笔记本导入 Joplin,请按照以下步骤操作
- 桌面应用程序: 打开文件菜单,然后单击导入 Evernote 笔记,然后选择您的 ENEX 文件。这将打开一个新屏幕,显示导入进度。笔记将导入到一个单独的新笔记本中(这样做是为了防止出现错误时,笔记不会与任何现有笔记混淆)。如果需要,可以将它们移动到不同的笔记本,可以重命名笔记本等。
- 终端应用程序: 在 命令行模式 中,输入
import-enex /path/to/file.enex
。这会将笔记导入到一个以文件名命名的新笔记本中。 - 移动应用程序: 目前不支持从移动应用程序导入 Enex 文件。将笔记从 Evernote 导入到移动应用程序的方法是首先从桌面应用程序导入它们,然后与移动应用程序同步。
桌面、移动和终端应用程序的比较
这三个应用程序之间存在差异。
桌面应用程序

opensource.com
桌面应用程序可在 Windows、Linux 和 MacOS 上使用。主视图显示一个侧边栏,其中包含笔记本和标签列表、笔记列表以及当前选定笔记的内容。桌面应用程序的主要区别在于,笔记以双视图显示,一侧是可编辑的 Markdown 文本,另一侧是渲染的笔记。可以通过单击工具栏中的布局按钮来仅显示笔记编辑器、仅显示视图或两者都显示。
终端应用程序

opensource.com
终端应用程序可在 Windows(通过 WSL)、Linux 和 MacOS 上使用。要在 Windows 或 Linux 上安装它,请输入
npm install -g joplin
在 macOS 上,最好使用 Homebrew,并使用以下命令安装应用程序
brew install joplin
如果由于权限问题而无法安装应用程序,请确保您的 全局 npm 权限正确。
要启动应用程序,请输入 joplin
。这将打开用户界面,该界面有三个主要窗格:笔记本、笔记和当前笔记的文本。还有其他面板可以通过 快捷键 切换打开和关闭。要创建新笔记,请输入 tc
。要编辑笔记,请选择它并按Enter。
移动应用程序
![]() opensource.com |
![]() opensource.com |
移动应用程序可在 iOS 和 Android 上使用。与其他应用程序一样,它有一个 Markdown 编辑器来输入笔记。创建笔记后,它将显示带有格式的渲染文本。然后,您可以使用编辑和返回按钮在编辑器和渲染笔记之间切换。笔记和笔记本可以与桌面或终端应用程序同步。
与 Joplin 交互
Joplin 的用户界面部分基于文本编辑器 Vim,并提供两种不同的模式与笔记和笔记本进行交互
- 普通模式 允许使用 Tab 和 Shift+Tab 键从一个窗格移动到另一个窗格,并使用箭头键选择/查看笔记。文本区域也可以使用箭头键滚动。按Enter 编辑笔记。还有各种其他 快捷键 可用。
- 命令行模式 可以通过按
:
启动。从那里,可以使用 Joplin 命令,例如mknote
或search
。请参阅 完整命令列表。
虽然您可以通过标题或 ID 引用笔记或笔记本,但最简单的方法是使用以下快捷方式之一来引用当前选定的项目
快捷方式 | 描述 |
---|---|
$n | 引用当前选定的笔记 |
$b |
引用当前选定的笔记本 |
$c |
引用当前选定的项目,例如,如果笔记列表是当前活动的,则 $c 将引用当前选定的笔记。 |
以下是一些示例
创建标题为“星期三会议”的新笔记
mknote "Wednesday's meeting"
创建新的待办事项
mktodo "Buy bread"
将当前选定的笔记 ($n
) 移动到标题为“个人”的笔记本
mv $n "Personal"
将当前选定的笔记本 ($b
) 重命名为“某事”
ren $b "Something"
将本地文件附加到当前选定的笔记 ($n
)
attach $n /home/laurent/pictures/Vacation12.jpg
也可以从命令行模式更改配置。例如,要将当前编辑器更改为 sublime text
config editor "subl -w"
获取帮助
完整的用法信息可在命令行模式下通过键入以下命令之一获得
命令 | 描述 |
---|---|
help |
常规帮助信息 |
help shortcuts |
列出可用的快捷键 |
help [command] |
显示有关特定命令的信息 |
如果帮助未完全显示,请多次按 Tab 键,直到控制台处于焦点状态,然后使用箭头键或 Page Up/Page Down 键滚动文本。
38 条评论