From 2093ea5a1a1f2d128dd377778472a481913717b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6ktu=C4=9F=20Karaka=C5=9Fl=C4=B1?= <20567087+goktug97@users.noreply.github.com> Date: Mon, 1 Feb 2021 14:22:41 +0300 Subject: [PATCH] Fix backlinks --- org-roam-server.el | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/org-roam-server.el b/org-roam-server.el index 0834732..adfa508 100644 --- a/org-roam-server.el +++ b/org-roam-server.el @@ -2,7 +2,7 @@ ;; Author: Göktuğ Karakaşlı ;; URL: https://github.com/goktug97/org-roam-server -;; Version: 1.1.1 +;; Version: 1.1.2 ;; Package-Requires: ((org-roam "1.2.1") (org "9.3") (emacs "26.1") (dash "2.17.0") (simple-httpd "1.5.1") (s "1.12.0") (f "0.20.0")) ;; MIT License @@ -589,11 +589,12 @@ DESCRIPTION is the shown attribute to the user if the image is not rendered." (org-roam-db--get-title file-from))) (dolist (backlink bls) (pcase-let ((`(_ _ ,props) backlink)) - (insert (s-trim - (s-replace "\n" " " - (s-replace - (format "file:%s" (f-full org-roam-directory)) - "server:" (plist-get props :content))))) + (if-let ((content (funcall org-roam-buffer-preview-function file-from (plist-get prop :point)))) + (insert (s-trim + (s-replace "\n" " " + (s-replace + (format "file:%s" (f-full org-roam-directory)) + "server:" content))))) (insert "\n\n")))))) (insert "\n\n* No cite backlinks!"))) @@ -607,19 +608,20 @@ DESCRIPTION is the shown attribute to the user if the image is not rendered." (format "\n\n* %d %s\n" l (org-roam-buffer--pluralize "Backlink" l)))) (dolist (group grouped-backlinks) - (let ((file-from (car group)) - (bls (cdr group))) + (let* ((file-from (car group)) + (props (mapcar (lambda (row) (nth 2 row)) (cdr group))) + (props (seq-sort-by (lambda (p) (plist-get p :point)) #'< props))) (insert (format "** [[server:%s][%s]]\n" (car (last (split-string file-from "/"))) (org-roam-db--get-title file-from))) - (dolist (backlink bls) - (pcase-let ((`(_ _ ,props) backlink)) - (insert (s-trim - (s-replace "\n" " " - (s-replace - "file:" - "server:" (plist-get props :content))))) - (insert "\n\n")))))) + (dolist (prop props) + (if-let ((content (funcall org-roam-buffer-preview-function file-from (plist-get prop :point)))) + (insert (s-trim + (s-replace "\n" " " + (s-replace + "file:" + "server:" content))))) + (insert "\n\n"))))) (insert "\n\n* No backlinks!")))) (defservlet* org-roam-buffer text/html (path label token)