logseq-github-publisher

logseq 部分

  • DONE 遍历全部需要发布的文章

  • 导出文档 meta data

    • DONE 属性中字符串引号重复

    • DONE 文章属性如果重复会报错,toc

  • 文章格式转化

    • DONE Nunjucks Error expected variable end

      • 需要处理被双括号包围起来的内容

      • zotero-linked-file 也要处理

    • CANCELED 将 id 设置成文档的属性(持久化)

      • 等后面 db 版本持久化
    • DONE 文件名中去除斜杠

    • DONE wiki link 变成 http link

      • 原始代码借助模板和 hugo 的功能,实现通过文章去查文章的链接

        • 因为编译原因,关闭模板,这一条路走不同。
      • 一篇文档对应的链接有两种形式?

        • 直接指定 permalink

        • 根据文档名称生成,将 / 提升成 _

      • 解决 alias link

      • DONE [[2025/04/14]] 没有指定 permalink 的需要改写成绝对链接

      • DONE [[2025/04/14]] 导出的链接包含中括号

      • DONE [[2025/04/14]] 内部链接需要 url 编码(解决文档名称中的空格等特殊符号

    • block embedding 用文本替代,链接到对应的 文章的 http link

    • 不同级别标题

    • TODO task 符号改写

    • TODO [[logseq-anki-sync]] 部分符号改写

    • TODO 导出 Link Reference

  • DONE 提取图片

    • DONE 无法上传图片

      • 通义灵码写的代码帮忙解决问题
    • DONE 图片位置

      • hexo 图片需要放到 source/xxx 路径下,文章需要放到 source/_post/xxx 路径下

      • 实现时可以把图片上传到图床,然后修改文章,或者支持把图片和文章上传到不同的路径

    • DONE 不重复上传图片

    • TODO 图片上传失败

  • DONE 生成站点之后,点击首页的文章链接变成下载

    • http://localhost:4000/#:~:text=148%E4%B8%AA%E5%AD%97)-,%E4%BD%95%E5%88%87300/034,-image.png
  • 导出进度提示

  • 插件配置

github 部分

  • DONE push 到 github

    • put 接口

      • 文件需要 base64 编码

      • 如果文件已经有了需要提供 sha,如果是新文件不用提供

  • TODO 发布进度

导出优化

  • TODO 增量更新最近有修改的文章

  • TODO 文件名称改变后,旧文件不会被删除。

  • DONE 文件上传前对比 sha 值,出现不一样时再修改。

插件发布相关

  • TODO 写 readme

  • TODO 写赞助信息

  • TODO github action 自动编译插件

  • TODO 提交到 logseq 官方仓库

hexo 编译问题

  • TODO TypeError: Invalid URL

  • 修复离线编译遇到的问题

    • 仓库之前是用 git lfs 管理图片,远程添加图片后,再拉取到本地,还是会被处理成 lfs 处理。

    • DONE 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]]

作者

Ryen Xiang

发布于

2025-03-24

更新于

2025-04-19

许可协议


网络回响

评论