UP | HOME

emacs-自动删除org-roam空的daily文件

[2024-04-07 周日 10:12]

自动删除org-roam空的daily文件

(defun vulpea-buffer-p ()
  "Return non-nil if the currently visited buffer is a note."
  (and buffer-file-name
       (string-prefix-p
        (expand-file-name (file-name-as-directory YOUR-ORG-ROAM-DIR))
        (file-name-directory buffer-file-name))))

(defun my/delete-empty-daily ()
  "delete daily node without content"
  ;;限制在daily文件夹
  (if (and (vulpea-buffer-p) (string-match "daily" (file-name-directory buffer-file-name)))
      ;;查找heading
      (unless (org-map-entries
           (lambda ()
             (org-entry-get nil "ITEM"))
           nil nil)
          (delete-file (buffer-file-name))
          (kill-this-buffer))))

(add-hook 'after-save-hook #'my/delete-empty-daily)

▲ 编辑于 [2024-08-22 周四 11:09] | © Published by Emacs 30.0.50 (Org mode 9.7.10) on [2024-08-22 周四 11:25] | RSS