dots/config.el at master · jethrokuan/dots
The following exports all roam files to Hugo and includes backlinks pre-processor.
(defun jethro/org-roam-export-all ()
"Re-exports all Org-roam files to Hugo markdown."
(interactive)
(dolist (f (org-roam--list-all-files))
(with-current-buffer (find-file f)
(when (s-contains? "SETUPFILE" (buffer-string))
(org-hugo-export-wim-to-md)))))
(defun jethro/org-roam--backlinks-list (file)
(when (org-roam--org-roam-file-p file)
(mapcar #'car (org-roam-db-query [:select :distinct [from]
:from links
:where (= to $s1)
:and from :not :like $s2] file "%private%"))))
(defun jethro/org-export-preprocessor (_backend)
(when-let ((links (jethro/org-roam--backlinks-list (buffer-file-name))))
(insert "\n** Backlinks\n")
(dolist (link links)
(insert (format "- [[file:%s][%s]]\n"
(file-relative-name link org-roam-directory)
(org-roam--get-title-or-slug link))))))
(add-hook 'org-export-before-processing-hook #'jethro/org-export-preprocessor))