mirror of
https://github.com/correl/org-roam-export-backlinks.git
synced 2024-11-21 11:08:40 +00:00
Rename library to org-roam-export-backlinks
The old name conflicts with a module added to org-roam.
This commit is contained in:
parent
e0b67c4396
commit
3faf4382e3
2 changed files with 32 additions and 32 deletions
|
@ -1,12 +1,12 @@
|
|||
;;; org-roam-export.el --- Description -*- lexical-binding: t; -*-
|
||||
;;; org-roam-export-backlinks.el --- Include backlinks in exported org documents -*- lexical-binding: t; -*-
|
||||
;;
|
||||
;; Copyright (C) 2022 Correl Roush
|
||||
;;
|
||||
;; Author: Correl Roush <correl@gmail.com>
|
||||
;; Maintainer: Correl Roush <correl@gmail.com>
|
||||
;; Created: June 10, 2022
|
||||
;; Modified: June 10, 2022
|
||||
;; Version: 0.0.1
|
||||
;; Modified: October 29, 2022
|
||||
;; Version: 0.0.2
|
||||
;; Keywords: abbrev bib c calendar comm convenience data docs emulations extensions faces files frames games hardware help hypermedia i18n internal languages lisp local maint mail matching mouse multimedia news outlines processes terminals tex tools unix vc wp
|
||||
;; Homepage: https://github.com/correlr/org-roam-export
|
||||
;; Package-Requires: ((emacs "25.1") (org-roam "2.2.1"))
|
||||
|
@ -21,7 +21,7 @@
|
|||
|
||||
(require 'org-roam)
|
||||
|
||||
(defun org-roam-export-backlink-title (backlink)
|
||||
(defun org-roam-export-backlinks-title (backlink)
|
||||
"Get exportable title of BACKLINK."
|
||||
(mapconcat #'identity
|
||||
(append
|
||||
|
@ -29,11 +29,11 @@
|
|||
(plist-get (org-roam-backlink-properties backlink) :outline))
|
||||
" > "))
|
||||
|
||||
(defun org-roam-export-backlink-link (backlink)
|
||||
(defun org-roam-export-backlinks-link (backlink)
|
||||
"Get Org link to BACKLINK."
|
||||
(concat "id:" (org-roam-node-id (org-roam-backlink-source-node backlink))))
|
||||
|
||||
(defun org-roam-export--excerpt (&optional buffer element)
|
||||
(defun org-roam-export-backlinks--excerpt (&optional buffer element)
|
||||
"Extract an excerpt from ELEMENT in BUFFER."
|
||||
(with-current-buffer (or buffer (current-buffer))
|
||||
(let ((element (or element (org-element-at-point))))
|
||||
|
@ -45,14 +45,14 @@
|
|||
(buffer-substring begin end)
|
||||
"")))))
|
||||
|
||||
(defun org-roam-export-backlink-excerpt (backlink)
|
||||
(defun org-roam-export-backlinks-excerpt (backlink)
|
||||
"Get the Org element containing the link from BACKLINK as an excerpt."
|
||||
(with-temp-buffer
|
||||
(insert-file-contents (org-roam-node-file (org-roam-backlink-source-node backlink)))
|
||||
(goto-char (org-roam-backlink-point backlink))
|
||||
(org-roam-export--excerpt)))
|
||||
(org-roam-export-backlinks--excerpt)))
|
||||
|
||||
(defun org-roam-export--format-backlink (link title excerpt)
|
||||
(defun org-roam-export-backlinks--format (link title excerpt)
|
||||
"Format a backlink with TITLE and EXCERPT for inclusion in an Org document."
|
||||
(with-temp-buffer
|
||||
(org-mode)
|
||||
|
@ -61,14 +61,14 @@
|
|||
(insert excerpt))
|
||||
(buffer-string)))
|
||||
|
||||
(defun org-roam-export-format-backlink (backlink)
|
||||
(defun org-roam-export-backlinks-format (backlink)
|
||||
"Format a BACKLINK for inclusion in an Org document."
|
||||
(org-roam-export--format-backlink
|
||||
(org-roam-export-backlink-link backlink)
|
||||
(org-roam-export-backlink-title backlink)
|
||||
(org-roam-export-backlink-excerpt backlink)))
|
||||
(org-roam-export-backlinks--format
|
||||
(org-roam-export-backlinks-link backlink)
|
||||
(org-roam-export-backlinks-title backlink)
|
||||
(org-roam-export-backlinks-excerpt backlink)))
|
||||
|
||||
(defun org-roam-export-preprocessor (backend)
|
||||
(defun org-roam-export-backlinks-preprocessor (backend)
|
||||
"Append org-roam backlinks with content when applicable before
|
||||
passing to the org export BACKEND."
|
||||
(when-let ((node (org-roam-node-at-point)))
|
||||
|
@ -77,7 +77,7 @@ passing to the org export BACKEND."
|
|||
(save-excursion
|
||||
(goto-char (point-max))
|
||||
(insert (concat "\n* Backlinks\n"
|
||||
(string-join (mapcar #'org-roam-export-format-backlink backlinks)))))))))
|
||||
(string-join (mapcar #'org-roam-export-backlinks-format backlinks)))))))))
|
||||
|
||||
(provide 'org-roam-export)
|
||||
;;; org-roam-export.el ends here
|
||||
(provide 'org-roam-export-backlinks)
|
||||
;;; org-roam-export-backlinks.el ends here
|
28
tests.el
28
tests.el
|
@ -12,7 +12,7 @@
|
|||
|
||||
(require 'ert)
|
||||
(require 'org-roam)
|
||||
(require 'org-roam-export)
|
||||
(require 'org-roam-export-backlinks)
|
||||
|
||||
(setq org-roam-directory (expand-file-name "./test-slipbox")
|
||||
org-roam-db-location (expand-file-name "./test-slipbox/org-roam.db"))
|
||||
|
@ -22,19 +22,19 @@
|
|||
|
||||
(ert-deftest lorem-backlink-titles ()
|
||||
(should (equal '("Ipsum > II")
|
||||
(mapcar #'org-roam-export-backlink-title (org-roam-backlinks-get (org-roam-node-from-id "d12a1ce4-3199-42f4-b39b-b68c03458669") :unique t)))))
|
||||
(mapcar #'org-roam-export-backlinks-title (org-roam-backlinks-get (org-roam-node-from-id "d12a1ce4-3199-42f4-b39b-b68c03458669") :unique t)))))
|
||||
|
||||
(ert-deftest ipsum-backlink-titles ()
|
||||
(should (equal '("Lorem")
|
||||
(mapcar #'org-roam-export-backlink-title (org-roam-backlinks-get (org-roam-node-from-id "e6c17c1a-6b05-40d2-a01f-b147633c51b1") :unique t)))))
|
||||
(mapcar #'org-roam-export-backlinks-title (org-roam-backlinks-get (org-roam-node-from-id "e6c17c1a-6b05-40d2-a01f-b147633c51b1") :unique t)))))
|
||||
|
||||
(ert-deftest lorem-backlink-link ()
|
||||
(should (equal '("id:e6c17c1a-6b05-40d2-a01f-b147633c51b1")
|
||||
(mapcar #'org-roam-export-backlink-link (org-roam-backlinks-get (org-roam-node-from-id "d12a1ce4-3199-42f4-b39b-b68c03458669") :unique t)))))
|
||||
(mapcar #'org-roam-export-backlinks-link (org-roam-backlinks-get (org-roam-node-from-id "d12a1ce4-3199-42f4-b39b-b68c03458669") :unique t)))))
|
||||
|
||||
(ert-deftest ipsum-backlink-link ()
|
||||
(should (equal '("id:d12a1ce4-3199-42f4-b39b-b68c03458669")
|
||||
(mapcar #'org-roam-export-backlink-link (org-roam-backlinks-get (org-roam-node-from-id "e6c17c1a-6b05-40d2-a01f-b147633c51b1") :unique t)))))
|
||||
(mapcar #'org-roam-export-backlinks-link (org-roam-backlinks-get (org-roam-node-from-id "e6c17c1a-6b05-40d2-a01f-b147633c51b1") :unique t)))))
|
||||
|
||||
(defmacro with-test-document (&rest body)
|
||||
`(with-temp-buffer
|
||||
|
@ -64,17 +64,17 @@ Opening paragraph.
|
|||
(ert-deftest excerpt-opening-paragraph-test ()
|
||||
(with-test-document
|
||||
(goto-line 6)
|
||||
(should (equal "Opening paragraph.\n" (org-roam-export--excerpt)))))
|
||||
(should (equal "Opening paragraph.\n" (org-roam-export-backlinks--excerpt)))))
|
||||
|
||||
(ert-deftest excerpt-heading-paragraph-test ()
|
||||
(with-test-document
|
||||
(goto-line 10)
|
||||
(should (equal " Heading one paragraph.\n" (org-roam-export--excerpt)))))
|
||||
(should (equal " Heading one paragraph.\n" (org-roam-export-backlinks--excerpt)))))
|
||||
|
||||
(ert-deftest excerpt-list-test ()
|
||||
(with-test-document
|
||||
(goto-line 14)
|
||||
(should (equal " - List item 1\n - List item 2\n" (org-roam-export--excerpt)))))
|
||||
(should (equal " - List item 1\n - List item 2\n" (org-roam-export-backlinks--excerpt)))))
|
||||
|
||||
(ert-deftest excerpt-heading-with-subheadings-test ()
|
||||
(with-test-document
|
||||
|
@ -88,12 +88,12 @@ Opening paragraph.
|
|||
- List item 1
|
||||
- List item 2
|
||||
|
||||
" (org-roam-export--excerpt)))))
|
||||
" (org-roam-export-backlinks--excerpt)))))
|
||||
|
||||
(ert-deftest excerpt-simple-heading-test ()
|
||||
(with-test-document
|
||||
(goto-line 17)
|
||||
(should (equal "* Heading Two\n\n Heading two paragraph.\n" (org-roam-export--excerpt)))))
|
||||
(should (equal "* Heading Two\n\n Heading two paragraph.\n" (org-roam-export-backlinks--excerpt)))))
|
||||
|
||||
(ert-deftest lorem-backlink-excerpt ()
|
||||
(should (equal '("Aliquam [[id:d12a1ce4-3199-42f4-b39b-b68c03458669][lorem]] ante, suscipit a lorem molestie, aliquet elementum eros. Proin
|
||||
|
@ -106,7 +106,7 @@ commodo, lacinia odio vitae, blandit metus. Nam et tempus ipsum. Aenean lobortis
|
|||
mauris sit amet lorem accumsan blandit. Fusce eleifend, tellus non tristique
|
||||
auctor, ligula justo varius dolor, id bibendum nulla elit ac dui. Vestibulum
|
||||
sodales enim eget tristique tempor.\n")
|
||||
(mapcar #'org-roam-export-backlink-excerpt (org-roam-backlinks-get (org-roam-node-from-id "d12a1ce4-3199-42f4-b39b-b68c03458669") :unique t)))))
|
||||
(mapcar #'org-roam-export-backlinks-excerpt (org-roam-backlinks-get (org-roam-node-from-id "d12a1ce4-3199-42f4-b39b-b68c03458669") :unique t)))))
|
||||
|
||||
(ert-deftest ipsum-backlink-excerpt ()
|
||||
(should (equal '("Lorem [[id:e6c17c1a-6b05-40d2-a01f-b147633c51b1][ipsum]] dolor sit amet, consectetur adipiscing elit. Mauris eget viverra mi.
|
||||
|
@ -116,14 +116,14 @@ Morbi id malesuada nisi. Praesent ipsum velit, commodo vel bibendum vitae,
|
|||
dignissim in magna. Pellentesque vehicula enim ante, interdum laoreet dolor
|
||||
venenatis eget. Proin laoreet nulla a enim bibendum finibus. Proin mattis
|
||||
lobortis quam non eleifend. Pellentesque vitae imperdiet nisl.\n")
|
||||
(mapcar #'org-roam-export-backlink-excerpt (org-roam-backlinks-get (org-roam-node-from-id "e6c17c1a-6b05-40d2-a01f-b147633c51b1") :unique t)))))
|
||||
(mapcar #'org-roam-export-backlinks-excerpt (org-roam-backlinks-get (org-roam-node-from-id "e6c17c1a-6b05-40d2-a01f-b147633c51b1") :unique t)))))
|
||||
|
||||
(ert-deftest format-backlink-test ()
|
||||
(should (equal "** [[id:34cf17c6-f804-4adb-b386-3c6dfb83cfad][Heading > Subheading]]
|
||||
|
||||
Paragraph text.
|
||||
"
|
||||
(org-roam-export--format-backlink
|
||||
(org-roam-export-backlinks--format
|
||||
"id:34cf17c6-f804-4adb-b386-3c6dfb83cfad"
|
||||
"Heading > Subheading"
|
||||
"Paragraph text.\n"))))
|
||||
|
@ -141,7 +141,7 @@ Paragraph text.
|
|||
|
||||
Paragraph text.
|
||||
"
|
||||
(org-roam-export--format-backlink
|
||||
(org-roam-export-backlinks--format
|
||||
"id:9428184d-5030-4e5b-91f6-b865d5cc311b"
|
||||
"Heading"
|
||||
"** Subheading One
|
||||
|
|
Loading…
Reference in a new issue