aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemse2026-03-22 20:14:43 -0700
committerGravatar Tom Willemse2026-03-24 01:18:06 -0700
commit8b8fba0450017375eb948335126fe94edae028c3 (patch)
tree4ecc0c5355fcbd7906d0613e8f29d860c252ebd2
parente97b07406af8a4ea228e93b997f42bfbb533c462 (diff)
downloademacs-config-8b8fba0450017375eb948335126fe94edae028c3.tar.gz
emacs-config-8b8fba0450017375eb948335126fe94edae028c3.zip
oni-org: Add capture template for a reference note
-rw-r--r--oni-org/oni-org.el19
1 files changed, 18 insertions, 1 deletions
diff --git a/oni-org/oni-org.el b/oni-org/oni-org.el
index d2df96b..47bccb1 100644
--- a/oni-org/oni-org.el
+++ b/oni-org/oni-org.el
@@ -4,7 +4,7 @@
;; Author: Tom Willemse <tom@ryuslash.org>
;; Keywords: local
-;; Version: 2026.0105.140349
+;; Version: 2026.0322.164302
;; Package-Requires: (oni-yasnippet oni-hydra org org-edna diminish olivetti org-pretty-table)
;; This program is free software; you can redistribute it and/or modify
@@ -1040,6 +1040,23 @@ CLOSED: %(setq oni-org--capture-D-date (format-time-string (org-time-stamp-forma
%:link"
:immediate-finish t))
+(defun oni-org-find-new-note-file ()
+ (let ((title (read-string "Title: ")))
+ (find-file (expand-file-name (format "reference/%s-%s.org"
+ (format-time-string "%Y%m%d%H%M%S")
+ (replace-regexp-in-string (rx whitespace) "-" (downcase title)))
+ oni-org-todo-dir))
+ (setq-local oni-org--capture-page-title title)))
+
+(oni-org--map-put org-capture-templates "p"
+ '("A note page." plain (function oni-org-find-new-note-file) "#+TITLE: %(with-current-buffer (org-capture-get :buffer) oni-org--capture-page-title)
+#+DATE: %U
+
+%?"
+ :after-finalize (lambda () (when org-note-abort
+ (delete-file (buffer-file-name (org-capture-get :buffer)) t)
+ (kill-buffer (org-capture-get :buffer))))))
+
;;; Mastodon post dynamic block
(defun oni-org-dblock-write-mastodon-post (params)