Appendix: Org Export
While exporting your documents to another format such as HTML -- whether using Org's in-built export or ox-hugo -- you can add a backlinks section which would display the backlinks to the current file. This is done via org-export's preprocessing hooks. See more at Advanced Export Configuration (The Org Manual).
Following are two different configs that might be suitable for different use-cases. Add one of these snippets in your Emacs init file.
This will display only the backlinks and not the contents.
(defun my/org-roam--backlinks-list (file) (if (org-roam--org-roam-file-p file) (--reduce-from (concat acc (format "- [[file:%s][%s]]\n" (file-relative-name (car it) org-roam-directory) (org-roam--get-title-or-slug (car it)))) "" (org-roam-db-query [:select [from] :from links :where (= to $s1)] file)) "")) (defun my/org-export-preprocessor (backend) (let ((links (my/org-roam--backlinks-list (buffer-file-name)))) (unless (string= links "") (save-excursion (goto-char (point-max)) (insert (concat "\n* Backlinks\n") links))))) (add-hook 'org-export-before-processing-hook 'my/org-export-preprocessor)
Backlinks and Contents
This would insert both backlinks and the contents, just like the org-roam buffer. This might be especially useful if you host a web version of your personal knowledgebase and want to browse the files along with the backlinks from mobile devices.
(defun my/org-roam--backlinks-list-with-content (file) (with-temp-buffer (if-let* ((backlinks (org-roam--get-backlinks file)) (grouped-backlinks (--group-by (nth 0 it) backlinks))) (progn (insert (format "\n\n* %d Backlinks\n" (length backlinks))) (dolist (group grouped-backlinks) (let ((file-from (car group)) (bls (cdr group))) (insert (format "** [[file:%s][%s]]\n" file-from (org-roam--get-title-or-slug file-from))) (dolist (backlink bls) (pcase-let ((`(,file-from _ ,props) backlink)) (insert (s-trim (s-replace "\n" " " (plist-get props :content)))) (insert "\n\n"))))))) (buffer-string))) (defun my/org-export-preprocessor (backend) (let ((links (my/org-roam--backlinks-list-with-content (buffer-file-name)))) (unless (string= links "") (save-excursion (goto-char (point-max)) (insert (concat "\n* Backlinks\n") links))))) (add-hook 'org-export-before-processing-hook 'my/org-export-preprocessor)