logseq-github-publisher
使用流程
+
logseq 部分
- 遍历全部需要发布的文章
- 导出文档 meta data
- 属性中字符串引号重复
- 文章属性如果重复会报错,toc
- 文章格式转化
Nunjucks Error expected variable end- 需要处理被双括号包围起来的内容
zotero-linked-file也要处理
- 将 id 设置成文档的属性(持久化)
- 等后面 db 版本持久化
- 文件名中去除斜杠
- wiki link 变成 http link
- 原始代码借助模板和 hugo 的功能,实现通过文章去查文章的链接
- 因为编译原因,关闭模板,这一条路走不同。
- 一篇文档对应的链接有两种形式?
- 直接指定 permalink
- 根据文档名称生成,将 / 提升成 _
- 解决 alias link
- [[20250414]] 没有指定 permalink 的需要改写成绝对链接
- [[20250414]] 导出的链接包含中括号
- [[20250414]] 内部链接需要 url 编码(解决文档名称中的空格等特殊符号
- 原始代码借助模板和 hugo 的功能,实现通过文章去查文章的链接
- block embedding 用文本替代,链接到对应的 文章的 http link
- 不同级别标题
- task 符号改写
- [[logseq-anki-sync]] 部分符号改写
- 导出 Link Reference
- 提取图片
- 无法上传图片
- 通义灵码写的代码帮忙解决问题
- 图片位置
- hexo 图片需要放到
source/xxx路径下,文章需要放到source/_post/xxx路径下 - 实现时可以把图片上传到图床,然后修改文章,或者支持把图片和文章上传到不同的路径
- hexo 图片需要放到
- 不重复上传图片
- 图片上传失败
- 无法上传图片
- 生成站点之后,点击首页的文章链接变成下载
http://localhost:4000/#:~:text=148%E4%B8%AA%E5%AD%97)-,%E4%BD%95%E5%88%87300/034,-image.png
- 插件配置
github 部分
- push 到 github
- put 接口
- 文件需要 base64 编码
- 如果文件已经有了需要提供 sha,如果是新文件不用提供
- put 接口
- 发布进度
导出优化
- 可读性差的文档
- 导出进度提示
+ - 增量更新最近有修改的文章
- 文件名称改变后,旧文件不会被删除。
- 需要后面 db 版本利用page id 解决,md 版本的 page id 没有持久化
- 文件上传前对比 sha 值,出现不一样时再修改。
插件发布相关
- 写 readme
- 写赞助信息
- github action 自动编译插件
- 提交到 logseq 官方仓库
hexo 编译问题
TypeError: Invalid URL- 修复离线编译遇到的问题
- 仓库之前是用 git lfs 管理图片,远程添加图片后,再拉取到本地,还是会被处理成 lfs 处理。
- metadata 中属性缺失
- 解析 meta 非数组时,直接 copy 了数组这部分代码导致出错。。。
- 发现脚本出错,不知道怎么中途中止,好像现在只能等他运行完。。。
Nunjucks Error: _posts/logseq/2024 读论文目录.md [Line 1, Column 24] parseSignature: expected comma after expression- 文章中默认
{{ }}或{% %}是 nunjucks 标签,logseq 直接导出的文章没有对 query 等处理,会报错。 - 根据 Front-matter | Hexo 可以给文章设置属性:
disableNunjucks: false
- 文章中默认
- 如果文章属性有
permalink: xxx,生成之后链接无法点击,需要手动修改成permalink: xxx.html
开发环境问题
- 问题 ERROR: This version of pnpm requires at least Node.js v18.12
The current version of Node.js is v16.19.0
Visit https://r.pnpm.io/comp to see the list of past pnpm versions with respective Node.js version support.- [[nvm]] install 18.12
- nvm use 18.12
参考资料
- [[Logseq Plugins 开发实战]]
- [[logseq-schrodinger]]
- [[logseq-anki-sync]]
- [[obsidian-enveloppe]]
网络回响
logseq-github-publisher