对此程序员,都喜欢使用 Markdown 来工作、学习笔记,主要是简洁方便 (本人一直秉持“Everthing is Code”的原则,一次编写,多处复用)。过去一直使用 VS Code + Markdown All in One +PIcGo 的方式发布文章, 也用过 Typora, Notion, 通过 Markdown 格式向各平台分发文章,但是总感觉不是很方便,直到遇见了语雀
- 我希望自己的笔记能够形成不同类型的知识库,支持目录,语雀做到了
- 同时语雀支持快速的编辑,并支持导入导出 Markdown,进行平台分发
- 语雀也可以作为一个博客站点,内容的分发和积累。
考虑到之前写了很多 markdown 文档在 github/gitee, 希望能够进行整合,把语雀作为输入源,其他平台作为分发,包括 github/gitee, 结果一查有插件 yuque-hexo 支持 向 hexo 博客同步文章,正好自己有一个(PS:好久没更新了),系统通过这种方式重新用起来。
1. Hexo 博客
在开始之前,肯定是要有一个 Hexo 博客 - https://github.com/owen2016/owen2016.github.io
2. 创建语雀文档库
- 首先注册语雀账号,语雀官网:https://www.yuque.com/
- 登录语雀账号,新建一个文档库
- 导入文章 (如果之前有 markdown 文档的话)
3. 获取语雀 token
- 在语雀上点击 个人头像 -> 设置 -> Token 即可获取
4.安装&配置 yuque-hexo 插件
安装 yuque-hexo 插件 官方文档:https://github.com/x-cold/yuque-hexonpm i -g yuque-hexo
配置说明
- adapter 使用 hexo 和 markdown 都可以,这里推荐使用 markdown,经过我自己测试 markdown 对 front-matter 支持的更好
- login 和 repo 可以点击 个人头像 -> 设置 -> Token 即可获取
- login 和 repo 可以从 你的仓库路径中获取,例如我的 仓库路径 :https://www.yuque.com/binowen/blog ,其中 binowen 就是我的 login,blog 就是我的 repo
{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"scripts": {
"clean": "hexo clean",
"clean:yuque": "yuque-hexo clean",
"build": "hexo generate",
"deploy": "yuque-hexo sync && hexo deploy",
"sync": "yuque-hexo sync",
"reset": "npm run clean:yuque && npm run sync",
"server": "hexo server"
},
"hexo": {
"version": "5.2.0"
},
"yuqueConfig": {
"postPath": "source/_posts/yuque",
"cachePath": "yuque.json",
"mdNameFormat": "slug",
"adapter": "hexo",
"concurrency": 5,
"baseUrl": "https://www.yuque.com/api/v2",
"login": "binowen",
"repo": "blog",
"token": "2CA6XXXXXXXXXXXXXXXXXgRfcrLE0as",
"onlyPublished": true,
"onlyPublic": true,
"lastGeneratePath": "lastGeneratePath.log",
"imgCdn": {
"enabled": false,
"imageBed": "qiniu",
"host": "",
"bucket": "",
"region": "",
"prefixKey": ""
}
},
"dependencies": {
"hexo": "^5.0.0",
"hexo-baidu-url-submit": "0.0.6",
"hexo-deployer-ali-oss": "^1.0.0",
"hexo-deployer-git": "^2.1.0",
"hexo-generator-archive": "^1.0.0",
"hexo-generator-baidu-sitemap": "^0.1.9",
"hexo-generator-category": "^1.0.0",
"hexo-generator-feed": "^3.0.0",
"hexo-generator-index": "^2.0.0",
"hexo-generator-search": "^2.4.1",
"hexo-generator-sitemap": "^1.2.0",
"hexo-generator-tag": "^1.0.0",
"hexo-helper-live2d": "^3.1.1",
"hexo-permalink-pinyin": "^1.1.0",
"hexo-prism-plugin": "^2.3.0",
"hexo-renderer-ejs": "^1.0.0",
"hexo-renderer-marked": "^3.0.0",
"hexo-renderer-stylus": "^2.0.0",
"hexo-server": "^2.0.0",
"hexo-wordcount": "^6.0.1",
"live2d-widget-model-shizuku": "^1.0.5"
},
"devDependencies": {
"yuque-hexo": "^1.6.5"
}
}
参数名 | 含义 | 默认值 |
---|---|---|
postPath | 文档同步后生成的路径 | source/_posts/yuque |
cachePath | 文档下载缓存文件 | yuque.json |
mdNameFormat | 文件名命名方式 (title / slug) | title |
adapter | 文档生成格式 (hexo/markdown) | hexo |
concurrency | 下载文章并发数 | 5 |
baseUrl | 语雀 API 地址 | - |
login | 语雀 login (group), 也称为个人路径 | - |
repo | 语雀仓库短名称,也称为语雀知识库路径 | - |
onlyPublished | 只展示已经发布的文章 | false |
onlyPublic | 只展示公开文章 | false |
本地调试
# 同步语雀的文档到本地
yuque-hexo sync
# 清理语雀文档
yuque-hexo clean
执行 yuque-hexo sync 就会拉取语雀的文章到本地 _post 路径下,所以记得先把自己的文章备份。
hexo g & hexo s 本地启动看看。尤其是看看封面之类的,如果不对,就自己看看从语雀拉取的文章格式对不对。
5. 自动化
上面已经实现了,将语雀知识库的文章拉取到 Hexo 的 _post 路径下,这时候自己 hexo deploy 也是可以的,当然,咱们要实现的是自动化,可不是要自己再拉下来一次,然后再手动 push
https://blog.csdn.net/qq_36535538/article/details/123749206