Hello, John Kitchin <jkitc...@andrew.cmu.edu> writes:
> You can retrieve keywords in the org-file like this: > > (defun get-keyword (key) > (org-element-map (org-element-parse-buffer) 'keyword > (lambda (k) > (when (string= key (org-element-property :key k)) > (org-element-property :value k))) > nil t)) As a minor addendum, (org-element-parse-buffer 'element) is more efficient in this case. An even more efficient way to retrieve keywords, assuming buffer is not already parsed, would be: (org-with-point-at 1 (let ((case-fold-search t) (regexp (format "^[ \t]*#\\+%s:" key)) (result nil)) (while (re-search-forward regexp nil t) (let ((element (org-element-at-point))) (when (eq 'keyword (org-element-type element)) (push (org-element-property :value element) result)))) result)) Regards, -- Nicolas Goaziou