ox-hugo 突然就不好用了. 用 doom doctor 找到原因, 但带来更多问题.

doom emacs

org-mode + ox-huge

之前用得好好的,

昨天开始, 突然就不能用了. 在 运行了 C-c C-e H h 之后, 显示:

apply: Wrong number of arguments: ((t) nil "Lazy load a babel package when a block is executed during exporting." (+org--babel-lazy-load-library-a (org-babel-get-src-block-info))), 1

再把 ~/.emacs.d 目录删除, 重新安装 doom, 仍然是老样子. master develop 都试过了. 同样结果.

请教一下: 现在我应该怎么办?

给 doom emacs 提 issue

PS: 看到 issue 里有一个

Wrong number of arguments error from +org--babel-lazy-load-library-a when exporting org files · Issue #6469 · doomemacs/doomemacs (github.com)

刚才重新运行: ~/.emacs.d/bin/doom sync -u 的时候, 看到这个提示, 是不是有什么办法解决掉?

又重新安装了好几次, 上面那些错误提示没有了. 不过, 还是没有输出. 也就是在 C-c C-e H h 后, 目标目录没有任何新的结果.

提示信息变成了:

eval: Wrong type argument: stringp, nil

刚才用 doom doctor 查了一下, 结果如下:

提示说 lang: markdown 和 lang: python 有问题.

于是, 在 init.el 里禁止了 markdown 和 python, 再运行一遍 doom sync -u, 终于 ox-hugo 又可以正常输出了.

但是, 又带来更多问题: 如何不禁止 markdown 和 python 解决 ox-hugo 的问题呢?

doom 太复杂了,光是这点信息得不出什么确定的结论。诊断里的异常提示只是在抱怨没有安装相关的包,理论上不会影响 ox-hugo 。

我之前用 ox-hugo 的时候也常常出问题,所以干脆用 emacs -x 脚本的方式导出 hugo 了,下面的参考代码:

(add-to-list 'load-path
	     "~/.emacs.d/elpa/ox-hugo-20221028.1631/")
(add-to-list 'load-path
	     "~/.emacs.d/elpa/tomelr-0.4.3/")
(require 'ox-hugo)
(let ((fp (elt argv 0)))
  (find-file fp)
  (goto-char (point-max))
  (org-hugo-export-to-md))

保存为 export-hugo.el ,然后在文章同目录下执行:emacs -x export-hugo.el your-post.org 就可以导出了。

1 个赞

好的. 我去试试.

此话题已在最后回复的 730 天后被自动关闭。不再允许新回复。