aboutsummaryrefslogtreecommitdiff
path: root/bard-elisp
diff options
context:
space:
mode:
Diffstat (limited to 'bard-elisp')
-rw-r--r--bard-elisp/bard-writing.el79
1 files changed, 0 insertions, 79 deletions
diff --git a/bard-elisp/bard-writing.el b/bard-elisp/bard-writing.el
index cd742de..8138b1a 100644
--- a/bard-elisp/bard-writing.el
+++ b/bard-elisp/bard-writing.el
@@ -40,85 +40,6 @@
(ibuffer nil "*Ibuffer-Notes*"
'((name . "^\\[Note\\]"))))
-(defun bard/denote-insert-id-at-top ()
- "Insert or replace a top-level :ID: property at the very top of the current file."
- (interactive)
- (org-with-wide-buffer
- (goto-char (point-min))
- ;; If file already starts with a :PROPERTIES: drawer, remove it
- (when (looking-at ":PROPERTIES:")
- (let ((end (save-excursion
- (re-search-forward ":END:" nil t))))
- (when end
- (delete-region (point-min) (min (point-max) (1+ end)))))))
- ;; Insert fresh ID drawer at very top
- (goto-char (point-min))
- (let ((id (org-id-new)))
- (insert (format ":PROPERTIES:\n:ID: %s\n:END:\n" id)))
- (save-buffer))
-
-(defun bard/denote-maybe-insert-id ()
- "Insert a top-level :ID: unless this is a denote journal file."
- (interactive)
- (let ((file (buffer-file-name)))
- (unless (and file
- (boundp 'denote-journal-directory)
- (string-prefix-p (expand-file-name denote-journal-directory)
- (expand-file-name file)))
- (bard/denote-insert-id-at-top))))
-
-(defun bard/insert-or-create-node ()
- "Insert an Org-roam link if the note exists; otherwise create via Denote."
- (interactive)
- ;; Prompt for an existing node, but do not auto-create
- (let* ((node (org-roam-node-read))
- (title (org-roam-node-title node)))
- (if node
- ;; Node exists: insert Org-roam link at point
- (let ((id (org-roam-node-id node)))
- (if id
- (insert (org-link-make-string
- (concat "id:" id)
- title))
- ;; Node does not exist (no id): create via Denote
- (bard/denote-insert-node title))))))
-
-(defun bard/find-or-create-node ()
- "Find an Org-roam node by title; if missing, create via Denote."
- (interactive)
- (let* ((node (org-roam-node-read nil nil)) ;; no auto-create; just selection
- (title (org-roam-node-title node)))
- (if (org-roam-node-id node)
- ;; Node exists → visit
- (org-roam-node-visit node)
- ;; Node missing → create via Denote
- (let ((keyword (denote-keywords-prompt)))
- (denote title keyword)))))
-
-(defun bard/denote-insert-node (title)
- "Denote analogy for `org-roam-insert-node', takes TITLE as node title."
- (interactive)
- (let* ((keywords (denote-keywords-prompt))
- (file (denote title keywords nil nil nil nil nil nil)))
-
- (when-let ((buf (find-buffer-visiting file)))
- (with-current-buffer buf
- (save-buffer)
- (kill-buffer buf)))
-
- ;; extract uuid from file that is autogenerated by `bard/denote-insert-id-at-top'
- (let ((uuid
- (with-temp-buffer
- (insert-file-contents file)
- (goto-char (point-min))
- (when (re-search-forward "^:ID:\\s-+\\([[:alnum:]-]+\\)" nil t)
- (match-string 1)))))
- (unless uuid
- (error "No :ID: found in Denote file %s" file))
-
- ;; Insert link at point
- (insert (format "[[id:%s][%s]]" uuid title)))))
-
(defun denote-sequence-region ()
"Call `denote-sequence' and insert therein the text of the active region.