garden/content/daily/2024-06-17.md
SouthFox ab998e9c6b
All checks were successful
/ deploy (push) Successful in 2m31s
[post] new post
2024-06-17 23:37:51 +08:00

38 lines
1.4 KiB
Markdown

+++
title = 2024-06-17
author = ["SouthFox"]
date = 2024-06-17T23:26:00+08:00
lastmod = 2024-06-17T23:37:51+08:00
tags = ["publish"]
draft = false
+++
## org-roam 自动发布 {#org-roam-自动发布}
[论 Emacs 的易折腾性]({{< relref "../main/论_emacs_的易折腾性.md" >}})
懒是进步的动力,在运行发布命令又切到对应的仓库有运行 `commit` &amp;&amp; `push` 几十次后终于是觉得有点
烦了,所以加装改造了下之前的[来把 org-roam 笔记发布出去吧]({{< relref "../articles/来把 org-roam 笔记发布出去吧.md" >}})里的发布命令,简单拼接了下调用
`shell-command` 来自动进行 `git` 操作。
其中 `org-roam-update-org-id-locations` 是因为实际笔记中是 `UUID` 格式,在被 `ox-hugo` 发布时需要让
`org-mode` 知道对应的路径,否则会在进行发布时报未知链接错误,这个链接就在发布时自动执行这项操作。
```emacs-lisp
(defun my/org-roam-publish ()
"Publish current file"
(interactive)
(org-roam-update-org-id-locations)
(org-roam-set-keyword "filetags" ":publish:")
(save-buffer)
(org-hugo-export-wim-to-md)
(shell-command (concat "cd " org-hugo-base-dir
" && " "git add ."
" && " "git commit -m '[post] new post'"
" && " "git push"))
(message "publish nwe post!"))
```
```text
my/org-roam-publish
```