feat - Added an option to not format headings as links

For the dynamic block
This commit is contained in:
OZoneGuy 2023-04-19 04:57:30 -04:00
parent 1d98c7d07c
commit 4e1d8f458d

View file

@ -296,13 +296,16 @@ Valid parameters include:
:ts-format Optional format string used to format
timestamp-based columns.
:not-links Optional boolean. If non-nil, don't make headings
into links.
For example, an org-ql dynamic block header could look like
this (must be a single line in the Org buffer):
#+BEGIN: org-ql :query (todo \"UNDERWAY\")
:columns (priority todo heading) :sort (priority date)
:ts-format \"%Y-%m-%d %H:%M\""
(-let* (((&plist :query :columns :sort :ts-format :take) params)
(-let* (((&plist :query :columns :sort :ts-format :take :not-links) params)
(query (cl-etypecase query
(string (org-ql--query-string-to-sexp query))
(list ;; SAFETY: Query is in sexp form: ask for confirmation, because it could contain arbitrary code.
@ -318,7 +321,9 @@ this (must be a single line in the Org buffer):
(cons 'heading (lambda (element)
(let ((normalized-heading
(org-ql-search--link-heading-search-string (org-element-property :raw-value element))))
(org-ql-search--org-make-link-string normalized-heading (org-link-display-format normalized-heading)))))
(if not-links
normalized-heading
(org-ql-search--org-make-link-string normalized-heading (org-link-display-format normalized-heading))))))
(cons 'priority (lambda (element)
(--when-let (org-element-property :priority element)
(char-to-string it))))