39 lines
1.4 KiB
Markdown
39 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` && `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
|
||
|
```
|