菜单

命令行应用程序

相关源文件

Joplin CLI 应用程序通过终端提供对 Joplin 笔记管理功能的访问。它允许用户直接从命令行或通过交互式终端用户界面 (TUI) 创建、编辑和管理笔记、笔记本和标签。

有关图形桌面应用程序的信息,请参阅 桌面应用程序。有关移动应用程序的信息,请参阅 移动应用程序

架构概述

CLI 应用程序建立在与其他 Joplin 客户端相同的核心库之上,但通过命令行界面提供功能。

来源: packages/app-cli/package.json

CLI 应用程序使用

  • @joplin/lib 作为核心业务逻辑和数据模型
  • @joplin/renderer 用于 Markdown 渲染
  • 本地 SQLite 数据库用于存储
  • terminal-kittkwidgets 包用于交互式终端界面
  • yargs-parser 用于命令行参数解析

命令接口

Joplin CLI 提供了一套全面的命令来管理笔记及相关数据。

来源: packages/app-cli/package.json

常用命令

命令描述示例
mknote创建新笔记joplin mknote "Meeting Notes"
ls列出笔记、笔记本或标签joplin ls, joplin ls -n
edit编辑笔记joplin edit <note-id>
sync同步数据joplin sync
config配置设置joplin config sync.target 3
cat显示笔记内容joplin cat <note-id>
search搜索笔记joplin search "keyword"
use切换到笔记本joplin use <notebook-id>

来源: packages/app-cli/package.json

终端用户界面

除了命令执行,CLI 应用程序还提供了一个交互式终端用户界面 (TUI)。

来源: packages/app-cli/package.json

TUI 提供

  • 笔记本/文件夹导航
  • 带过滤选项的笔记列表
  • 带语法高亮的 Markdown 编辑器
  • 搜索功能
  • 在界面内执行命令
  • 配置管理

数据流和同步

CLI 应用程序遵循与其他 Joplin 客户端相同的数据流。

来源: packages/app-cli/package.json, packages/lib/package.json

同步过程

  1. 本地更改会在数据库中进行标识。
  2. 更改将被上传到配置的同步目标。
  3. 远程更改将被下载并应用到本地数据库。
  4. 冲突将根据配置的解决策略进行解决。

开发和依赖项

CLI 应用程序使用 TypeScript 构建,并采用基于 Gulp 的构建系统。主要依赖项包括:

  • @joplin/lib:核心 Joplin 功能和模型
  • @joplin/renderer:Markdown 渲染引擎
  • @joplin/utils:通用实用函数
  • sqlite3:数据库存储
  • terminal-kit & tkwidgets:终端 UI 组件
  • chalk:终端输出样式
  • aws-sdk:Amazon S3 集成
  • keytar:安全凭证存储

开发脚本

  • test:运行基于 Jest 的测试
  • build:使用 Gulp 构建
  • start:构建并启动应用程序
  • tsc:编译 TypeScript 文件
  • watch:监视更改并重新编译

来源: packages/app-cli/package.json

与 Joplin 生态系统的集成

来源: packages/app-cli/package.json, packages/lib/package.json

CLI 应用程序通过通用库与其他 Joplin 客户端共享核心功能,确保跨平台的体验一致性,同时提供优化的终端接口。