emacs/elisp/init-org-node.el
Mark van der Putten 93bc4b44b2 Working org-node
2025-04-23 22:39:12 +02:00

76 lines
1.9 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))
))
(setq my-todo-nodes
(lambda (node)
(string= (org-node-get-todo node) "TODO")))
(setq org-agenda-custom-commands
'(("b" "TODO's uit Org-Node (gefilterd)"
((agenda "" ((org-agenda-files (org-node-list-files))
(org-agenda-filter-function
(lambda (entry)
(let ((node (org-entry-get-node entry)))
(funcall my-todo-nodes node))))))))))
)
(provide 'init-org-node)
;;; init-org-node.el ends here