(Emacs/elisp)~current work in org bookmark

This commit is contained in:
2024-05-31 20:53:15 +05:30
parent d2e7060f89
commit 47655b7f03

View File

@@ -25,21 +25,45 @@
(require 'org)
(defvar +bookmark/file (expand-file-name "~/Text/bookmarks.org"))
(defvar +bookmark/mpv-args "--ytdl-raw-options=force-ipv4= --ytdl-format=22")
(defvar +bookmark/file (expand-file-name (concat org-directory "/bookmarks.org")))
(defvar +bookmark/mpv-args "--ytdl-raw-options=force-ipv4= --ytdl-format=22 -v")
(defun +bookmark/--extract-heading ()
(let ((heading-components (org-heading-components))
(tags (org-get-tags)))
(message "%s" tags)
(list
(nth 4 heading-components)
(cl-remove-if #'(lambda (tag) (string= tag "bookmark")) tags)
(substring-no-properties
(org-agenda-get-some-entry-text
(point-marker)
most-positive-fixnum)))))
(defun +bookmark/--extract-all-heading-data ()
(cl-remove-if
#'(lambda (x) (member "DONE" (nth 1 x)))
(org-scan-tags
#'+bookmark/--extract-heading
(cdr (org-make-tags-matcher ":bookmark:"))
nil)))
(defun +bookmark/--heading->record (heading)
(cl-destructuring-bind (name tags url) heading
(cons
(concat name
" "
(substring-no-properties
(cl-reduce #'(lambda (x y) (concat x ":" y))
tags
:initial-value "")))
url)))
(defun +bookmark/bookmarks ()
(with-current-buffer (find-file-noselect +bookmark/file)
(org-scan-tags
#'(lambda nil
(let ((heading-components (org-heading-components)))
(cons
(concat (nth 4 heading-components) (nth 5 heading-components))
(substring-no-properties (org-agenda-get-some-entry-text
(point-marker)
most-positive-fixnum)))))
(cdr (org-make-tags-matcher ":bookmark:"))
nil)))
(mapcar
#'+bookmark/--heading->record
(+bookmark/--extract-all-heading-data))))
(defun +bookmark/open-bookmark ()
(interactive)
@@ -62,12 +86,7 @@
(comint-mode))
(set-process-filter (start-process-shell-command
"bookmark-mpv" "*mpv*"
(concat
"mpv "
+bookmark/mpv-args
" \""
(cdr pair)
"\""))
(concat "mpv " +bookmark/mpv-args " \"" (cdr pair) "\""))
#'comint-output-filter))
(t
(message "[bookmark]: Starting eww")