(fix): don't print no citelinks if org-ref is not present (#714)

Change confusing behaviour where org-roam buffer prints "no citelinks"
even when org-ref is not present.
This commit is contained in:
Jethro Kuan
2020-05-28 13:53:10 +08:00
committed by GitHub
parent 9ddadc9c25
commit f9a9f15a8b

View File

@@ -116,32 +116,32 @@ When non-nil, the window will not be closed when deleting other windows."
(defun org-roam-buffer--insert-citelinks () (defun org-roam-buffer--insert-citelinks ()
"Insert citation backlinks for the current buffer." "Insert citation backlinks for the current buffer."
(if-let* ((ref (with-temp-buffer (when (require 'org-ref nil t) ;; Ensure that org-ref is present
(insert-buffer-substring org-roam-buffer--current) (if-let* ((ref (with-temp-buffer
(org-roam--extract-ref))) (insert-buffer-substring org-roam-buffer--current)
(org-ref-p (require 'org-ref nil t)) ; Ensure that org-ref is present (org-roam--extract-ref)))
(key-backlinks (org-roam--get-backlinks (cdr ref))) (key-backlinks (org-roam--get-backlinks (cdr ref)))
(grouped-backlinks (--group-by (nth 0 it) key-backlinks))) (grouped-backlinks (--group-by (nth 0 it) key-backlinks)))
(progn (progn
(insert (let ((l (length key-backlinks))) (insert (let ((l (length key-backlinks)))
(format "\n\n* %d %s\n" (format "\n\n* %d %s\n"
l (org-roam-buffer--pluralize "Cite backlink" l)))) l (org-roam-buffer--pluralize "Cite backlink" l))))
(dolist (group grouped-backlinks) (dolist (group grouped-backlinks)
(let ((file-from (car group)) (let ((file-from (car group))
(bls (cdr group))) (bls (cdr group)))
(insert (format "** [[file:%s][%s]]\n" (insert (format "** [[file:%s][%s]]\n"
file-from file-from
(org-roam--get-title-or-slug file-from))) (org-roam--get-title-or-slug file-from)))
(dolist (backlink bls) (dolist (backlink bls)
(pcase-let ((`(,file-from _ ,props) backlink)) (pcase-let ((`(,file-from _ ,props) backlink))
(insert (propertize (insert (propertize
(s-trim (s-replace "\n" " " (s-trim (s-replace "\n" " "
(plist-get props :content))) (plist-get props :content)))
'help-echo "mouse-1: visit backlinked note" 'help-echo "mouse-1: visit backlinked note"
'file-from file-from 'file-from file-from
'file-from-point (plist-get props :point))) 'file-from-point (plist-get props :point)))
(insert "\n\n")))))) (insert "\n\n"))))))
(insert "\n\n* No cite backlinks!"))) (insert "\n\n* No cite backlinks!"))))
(defun org-roam-buffer--insert-backlinks () (defun org-roam-buffer--insert-backlinks ()
"Insert the org-roam-buffer backlinks string for the current buffer." "Insert the org-roam-buffer backlinks string for the current buffer."