Org-roam export backlinks on Hugo

Org-roam export backlinks on Hugo

June 4, 2020
orgmode, emacs

tags
Org-mode Emacs Org-roam

Insert roam backlinks URL when exporting orgmode to HTML

From: jethrokuan/dots

(defun benmezger/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 benmezger/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 benmezger/org-export-preprocessor (_backend)
   (when-let ((links (benmezger/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 #benmezger/org-export-preprocessor))