index

Table of Contents

1. all nodes

(->> (org-roam-node-list)
     (--remove (cl-intersection '("daily" "private") (org-roam-node-tags it) :test #'equal))
     (--sort (string< (org-roam-node-title it) (org-roam-node-title other)))
     (--map (org-make-link-string (format "id:%s" (org-roam-node-id it)) (org-roam-node-title it))))

2. by tag

(->> (org-roam-node-list)
     (-mapcat #'org-roam-node-tags)
     (-uniq)
     (--remove (-contains? '("daily" "private") it))
     (-map (lambda (tag)
             (cons tag
                    (->> (org-roam-node-list)
                         (--filter (let ((node-tags (org-roam-node-tags it)))
                                     (and (-contains? node-tags tag)
                                          (not (cl-intersection '("daily" "private") node-tags :test #'equal)))))
                         (--sort (string< (org-roam-node-title it) (org-roam-node-title other)))
                         (--map (concat "- "
                                        (org-make-link-string (format "id:%s" (org-roam-node-id it)) (org-roam-node-title it))
                                        "\n"))))))
     (-filter #'cdr))

Author: Nicholas Coltharp

Created: 2026-05-12 Tue 01:06

Validate