commit 393ceea575bc61528615e4186bbda3d695c6c2e5 Author: Jethro Kuan Date: Sun Jan 5 17:04:37 2020 +0800 Initial extract diff --git a/README.org b/README.org new file mode 100644 index 0000000..74c4482 --- /dev/null +++ b/README.org @@ -0,0 +1,14 @@ +* Org-roam + +Rudimentary Roam replica in org-mode. Dependent on deft being setup properly. + +** Usage + +#+begin_src emacs-lisp + (use-package org-roam + :after deft org + :straight (:host "github" :repo "jethrokuan/org-roam") + :bind + ("C-c n l" . org-roam-get-linked-files) + ("C-c n i" . org-roam-insert)) +#+end_src diff --git a/org-roam.el b/org-roam.el new file mode 100644 index 0000000..ab4ecc5 --- /dev/null +++ b/org-roam.el @@ -0,0 +1,27 @@ +(require 'deft) + +(defcustom org-roam-zettel-indicator "ยง" + "Indicator in front of a zettel.") + +(defun org-roam-insert (file-name) + "Finds a file, inserts it as a link with the base file name as the link name, and adds the zd-link-indicator I use to the front." + (interactive (list (completing-read "File: " (deft-find-all-files-no-prefix)))) + (let ((org-link-file-type 'relative)) + (org-insert-link nil (concat "file:" (concat deft-directory file-name)) + (concat org-roam-zettel-indicator (file-name-base file-name))))) + +(defun org-roam-get-linked-files () + "Show links to this file." + (interactive) + (let* ((search-term (file-name-nondirectory buffer-file-name)) + (files deft-all-files) + (tnames (mapcar #'file-truename files))) + (multi-occur + (mapcar (lambda (x) + (with-current-buffer + (or (get-file-buffer x) (find-file-noselect x)) + (widen) + (current-buffer))) + files) + search-term + 3)))