求教:为了发布博客我写了一段自动脚本,如何变成 emacs 里的一个命令

我用 hugo 搭建自己的博客,我已经把发布博客的流程浓缩成一个自动化脚本。

平时我直接启用 eshell,执行这个脚本,然后博客就自动发布了。

我现在想把这个步骤直接浓缩成一个命令,但不知道怎么做。

直接用github workflow就可以搞定了

(shell-command "path-to-your-script")

因为我用 emacs + org-mode 来写博客,不知道怎么结合 github workflow

你都说了,直接启用 eshell,执行这个脚本

(progn 
  (eshell)
  (insert "path-to-your-script")
  (eshell-send-input)
)

这个过程写成一个elisp函数调用

1 个赞

可以参考 emacsTalk 大佬的这个帖子:

我就是按他说的,学会弄 Github workflow。emacs 直接写好 org 文档,推送 Github,博客就更新了。

这是我的博客地址:https://eason0210.github.io

这是博客仓库:

3 个赞

本周准备录一个视频来介绍如何使用 org-mode + emacs 来写博客

6 个赞

坐等,bili还是youtube

我之前用的办法是用 (start-process-shell-command name buffer command) 这个函数执行脚本, 像 (start-process-shell-command publish *publish* "cd <path/to/hugo/root> && ./publish.sh")

然后外面套一个interactive函数, (defun publish-to-somewhere () (interactive) (start.......)), 就可以在M-x里用,或者绑keybinding了

可以了解一下github action,或者用vercel来部署。

.dir-locals.el 一直都这样搞呀,然后commit到仓库就完事。

(("content-org/"
  . ((org-mode . ((eval . (org-hugo-auto-export-mode)))))))

应该都会有的。

虽然很简单,但是可能没搞过的道友还是会遇到一些小问题。