From 910e982e3796faefd9cc248e2477596d01fb499a Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Mon, 27 Sep 2021 18:18:54 -0500 Subject: Add bookmarks to eww Like, regular ones. --- lisp/acdw-eww.el | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 lisp/acdw-eww.el (limited to 'lisp') diff --git a/lisp/acdw-eww.el b/lisp/acdw-eww.el new file mode 100644 index 0000000..8e7f42d --- /dev/null +++ b/lisp/acdw-eww.el @@ -0,0 +1,38 @@ +;;; acdw-eww.el --- EWW customizations -*- lexical-binding: t -*- + +(require 'bookmark) +(require 'eww) + +(defun bookmark-eww--make () + "Make eww bookmark record." + `((filename . ,(plist-get eww-data :url)) + (title . ,(plist-get eww-data :title)) + (time . ,(current-time-string)) + (handler . ,#'bookmark-eww-handler) + (defaults . (,(concat + ;; url without the https and path + (replace-regexp-in-string + "/.*" "" + (replace-regexp-in-string + "\\`https?://" "" + (plist-get eww-data :url))) + " - " + ;; page title + (replace-regexp-in-string + "\\` +\\| +\\'" "" + (replace-regexp-in-string + "[\n\t\r ]+" " " + (plist-get eww-data :title)))))))) + + + +(defun bookmark-eww-handler (bm) + "Handler for eww bookmarks." + (eww-browse-url (alist-get 'filename bm))) + +(defun bookmark-eww--setup () + "Setup eww bookmark integration." + (setq-local bookmark-make-record-function #'bookmark-eww--make)) + +(provide 'acdw-eww) +;;; acdw-eww.el ends here -- cgit 1.4.1-21-gabe81