From c73bfc6ea4fe0cbe5b6ad3357dcbcd1501d8f366 Mon Sep 17 00:00:00 2001 From: Kevin Kim Date: Fri, 8 Mar 2019 11:24:47 -0500 Subject: [PATCH] Work with org-link-file-path-type variable --- org-pdfview.el | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/org-pdfview.el b/org-pdfview.el index 60a655f..4f17e0e 100644 --- a/org-pdfview.el +++ b/org-pdfview.el @@ -66,7 +66,7 @@ "Store a link to a pdfview buffer." (when (eq major-mode 'pdf-view-mode) ;; This buffer is in pdf-view-mode - (let* ((path buffer-file-name) + (let* ((path (org-pdfview-path buffer-file-name)) (page (pdf-view-current-page)) (link (concat "pdfview:" path "::" (number-to-string page)))) (org-store-link-props @@ -74,6 +74,22 @@ :link link :description path)))) +(defun org-pdfview-path (path) + "Generate path name based on `org-link-file-path-type'." + (cond + ((eq org-link-file-path-type 'absolute) (abbreviate-file-name (expand-file-name path))) + ((eq org-link-file-path-type 'noabbrev) (expand-file-name path)) + ((eq org-link-file-path-type 'relative) (file-relative-name path)) + (t + (save-match-data + (if (string-match (concat "^" (regexp-quote + (expand-file-name + (file-name-as-directory default-directory)))) + (expand-file-name path)) + ;; Return relative path name. + (substring (expand-file-name path) (match-end 0)) + (abbreviate-file-name (expand-file-name path))))))) + (defun org-pdfview-export (link description format) "Export the pdfview LINK with DESCRIPTION for FORMAT from Org files." (let* ((path (when (string-match "\\(.+\\)::.+" link)