joplin-blog
场景
将 Joplin 笔记发布为静态网站的 CLI 工具,目前支持 blog/wiki 两种形式,框架支持 hexo/vuepress/jeykll/docsify。
- blog
- wiki
要求
- 安装 nodejs 和 npm(默认随附安装)
- 了解命令行
- 了解 VSCode
使用
- 在命令行导航到相关目录
- 添加依赖
npm i -D joplin-blog
- 添加配置文件
.joplin-blog.json
(具体配置参考 配置) - 添加一个 npm script 脚本文件
"gen": "joplin-blog blog"
(如果是要生成 wiki 则"gen": "joplin-blog wiki"
) - 运行命令
npm run gen
- 然后可以看到相关目录已经包含了笔记和附件资源
请将 .joplin-blog.json 和 .joplin-cache.json 两个文件添加到 .gitignore 忽略文件中,前者包含敏感信息
token
,后者是自动生成。
示例
支持的框架在 examples 目录中均有示例,你可以将之 clone 到本地查看。
- blog hexoopen in new window
- blog vuepressopen in new window
- blog jeykllopen in new window
- wiki vuepressopen in new window
- wiki docsifyopen in new window
配置
公共
配置 | 类型 | 必填 | 说明 |
---|---|---|---|
type | hexo/vuepress/docsify | 是 | 集成博客的类型 |
rootPath | string | 否 | hexo/vuepress 目录,默认是 . |
token | string | 是 | joplin web clipper 的 token |
baseUrl | string | 否 | joplin web clipper 的基础路径,默认是 http://localhost:41184 |
tag | string | 是 | joplin 的博客标签 |
hexo
配置 | 类型 | 说明 |
---|---|---|
stickyTopIdList | string[] | 置顶的笔记 id(仅在 fluid 主题open in new window 下生效) |
我用这个工具分享了 190 多篇笔记,博客地址(中文)open in new window
常见问题
token/port 指的是什么,在哪儿可以找到?
一般可以在 工具 > 选项 > 网页剪辑器 中看到
为什么导出的 blog、wiki 的笔记 id 变了?
一些可能的原因是
- 导出 jex 然后再导入 jex,这里的笔记全部都是创建操作,参考:https://discourse.joplinapp.org/t/when-will-joplin-modify-the-id-of-the-note/17806open in new window
- 同步时笔记发生冲突
如何导出全部的笔记
设置 "tag": ""
以不做任何过滤导出所有标签的笔记。
笔记中 img 标签的图片资源没有被转换
参考:https://github.com/rxliuli/joplin-utils/issues/31open in new window
目前,cli 仅处理笔记中的 markdown 部分,html 标签应该会原样保留,如果希望被正确转换,则应该使用 markdown 而非 html 标签。