emacs/elisp/init-org-node.el
Mark van der Putten 8ffee04342 Setup org-node
2025-04-23 14:48:19 +02:00

87 lines
2.5 KiB
EmacsLisp

;;; init-org-node.el --- summary -*- lexical-binding: t -*-
;; Author: Mark van der Putten
;; Maintainer: Mark van der Putten
;; Version: version
;; Package-Requires: (dependencies)
;; Homepage: homepage
;; Keywords: keywords
;;; Commentary:
;; Initialize org-node
;;; Code:
(use-package org-node
:ensure t
:after org
:bind (("M-s M-f" . org-node-find)
("M-s M-i" . org-node-insert-link)
("M-s M-t" . my/org-node-todo-search)
("M-s M-s" . org-node-seq-dispatch)
)
:init
(setq org-node-extra-id-dirs
'("~/Documents/Org-mode/brain"))
:config
(org-node-cache-mode)
(setq org-capture-templates
'(("i" "Capture into ID node"
plain (function org-node-capture-target) nil
:empty-lines-after 1)
("j" "Jump to ID node"
plain (function org-node-capture-target) nil
:jump-to-captured t
:immediate-finish t)
;; Sometimes handy after `org-node-insert-link', to
;; make a stub you plan to fill in later, without
;; leaving the current buffer for now
("s" "Make quick stub ID node"
plain (function org-node-capture-target) nil
:immediate-finish t)))
(defun my/org-node-todo-search ()
"Toon alle TODOs uit org-roam-bestanden."
(interactive)
(org-ql-search (org-node-list-files)
'(todo)
:title "TODOs"
:sort '(date)
:super-groups '((:name "Taken" :todo))
))
;; (defun my/org-node-todo-file-sort ()
;; "Toon alle TODOs uit org-bestanden, gesorteerd op bestandsnaam."
;; (interactive)
;; (org-ql-search (org-node-list-files)
;; '(todo)
;; :title "TODO's per Bestand"
;; :sort (lambda (a b) (string< (org-ql-get a 'file) (org-ql-get b 'file)))
;; :super-groups '((:name (lambda (items) (format "Bestand: %s" (org-ql-get (car items) 'file)))
;; :all))))
;; (defun my/org-agenda-ql-todos-with-date ()
;; "Toon TODO's met een datum uit Org Roam bestanden in de agenda."
;; (interactive)
;; (org-agenda-custom-agenda
;; '(("TODOs met Datum"
;; ((org-ql-search (org-node-list-files)
;; '(:and (todo) (:or deadline scheduled))
;; :title "TODOs met Datum"
;; :sort '(date)
;; :super-groups '((:name "Vandaag" :date today)
;; (:name "Binnenkort" :date future)
;; (:name "Verleden" :date past))))))))
)
(provide 'init-org-node)
;;; init-org-node.el ends here