org-roam-export-backlinks/org-roam-export.el

47 lines
1.8 KiB
EmacsLisp
Raw Normal View History

2022-06-12 00:07:24 +00:00
;;; org-roam-export.el --- Description -*- lexical-binding: t; -*-
;;
;; Copyright (C) 2022 Correl Roush
;;
2022-06-12 06:23:58 +00:00
;; Author: Correl Roush <correl@gmail.com>
;; Maintainer: Correl Roush <correl@gmail.com>
2022-06-12 00:07:24 +00:00
;; Created: June 10, 2022
;; Modified: June 10, 2022
;; Version: 0.0.1
;; 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
2022-06-12 06:23:07 +00:00
;; Package-Requires: ((emacs "24.4") (org-roam "2.2.1"))
2022-06-12 00:07:24 +00:00
;;
;; This file is not part of GNU Emacs.
;;
;;; Commentary:
;;
;; Description
;;
;;; Code:
2022-06-12 00:24:24 +00:00
(require 'org-roam)
2022-06-12 01:17:07 +00:00
(defun org-roam-export-backlink-title (backlink)
"Get exportable title of BACKLINK."
(mapconcat #'identity
(append
(list (org-roam-node-title (org-roam-backlink-source-node backlink)))
(plist-get (org-roam-backlink-properties backlink) :outline))
" > "))
2022-06-12 01:17:07 +00:00
(defun org-roam-export-backlink-link (backlink)
"Get Org link to BACKLINK."
(concat "id:" (org-roam-node-id (org-roam-backlink-source-node backlink))))
2022-06-12 00:07:24 +00:00
2022-06-12 06:07:29 +00:00
(defun org-roam-export-backlink-excerpt (backlink)
"Get the Org element containing the link from BACKLINK as an excerpt."
(with-temp-buffer
(insert-file-contents-literally (org-roam-node-file (org-roam-backlink-source-node backlink)))
(goto-char (org-roam-backlink-point backlink))
(let ((element (org-element-at-point)))
(string-trim (buffer-substring (org-element-property :contents-begin element)
(org-element-property :contents-end element))))))
2022-06-12 06:07:29 +00:00
2022-06-12 00:07:24 +00:00
(provide 'org-roam-export)
;;; org-roam-export.el ends here