aboutsummaryrefslogtreecommitdiff
path: root/emacs/.emacs.d/lisp/my
diff options
context:
space:
mode:
authorYuchen Pei <id@ypei.org>2025-06-04 09:50:01 +1000
committerYuchen Pei <id@ypei.org>2025-06-04 09:50:01 +1000
commite0451edda69683d4f5ac4072ed7976bcaaa762c4 (patch)
treef96a07b1893668a12d2bdca8fd121a643ad1fb37 /emacs/.emacs.d/lisp/my
parent35f625d5b081607c1ab7de25a670745c1ba6434c (diff)
[emacs] Fix belf recent function namingHEADmaster
Diffstat (limited to 'emacs/.emacs.d/lisp/my')
-rw-r--r--emacs/.emacs.d/lisp/my/belf.el12
-rw-r--r--emacs/.emacs.d/lisp/my/my-libgen.el20
2 files changed, 27 insertions, 5 deletions
diff --git a/emacs/.emacs.d/lisp/my/belf.el b/emacs/.emacs.d/lisp/my/belf.el
index 7eecf87..8a4a9f0 100644
--- a/emacs/.emacs.d/lisp/my/belf.el
+++ b/emacs/.emacs.d/lisp/my/belf.el
@@ -452,9 +452,11 @@ Compare without leading \"The \"."
(interactive)
(find-file-other-window (tabulated-list-get-id)))
+;;; belf-recent
+
(defvar belf-recent-file (locate-user-emacs-file "belf-list"))
-(defun belf-add-to-recent (file)
+(defun belf-recent-add (file)
"Add FILE to `belf-recent-file'.
Can be used as a `find-file-hook'."
@@ -473,9 +475,9 @@ Can be used as a `find-file-hook'."
(write-file belf-recent-file)
)))
-(defun belf-add-current-to-recent ()
+(defun belf-recent-add-current ()
(when buffer-file-name
- (belf-add-to-recent buffer-file-name)))
+ (belf-recent-add buffer-file-name)))
(define-derived-mode belf-recent-mode belf-mode "Bookshelf Recent"
"Major mode for browsing a list of books."
@@ -490,10 +492,10 @@ Can be used as a `find-file-hook'."
(pop-to-buffer-same-window buf)))
(defun belf-recent-list-refresh-contents (&rest _)
- (setq-local tabulated-list-entries (belf-parse-recent-file-names))
+ (setq-local tabulated-list-entries (belf-recent-parse-file-names))
(tabulated-list-print))
-(defun belf-parse-recent-file-names ()
+(defun belf-recent-parse-file-names ()
(with-temp-buffer
(when (file-exists-p belf-recent-file)
(insert-file-contents belf-recent-file))
diff --git a/emacs/.emacs.d/lisp/my/my-libgen.el b/emacs/.emacs.d/lisp/my/my-libgen.el
index fac7cb0..d4efb30 100644
--- a/emacs/.emacs.d/lisp/my/my-libgen.el
+++ b/emacs/.emacs.d/lisp/my/my-libgen.el
@@ -186,6 +186,25 @@
nil
(lambda () (my-libgen-check-md5 filename md5)))))
+(defun my-libgen-plus-edition-infobox (edition-id)
+ (let ((dom (my-url-fetch-dom
+ (format "%s/edition.php?id=%s" my-libgen-plus-host edition-id))))
+ (infobox-render-string
+ (with-temp-buffer
+ (insert (mapconcat (lambda (p) (dom-texts p ""))
+ (dom-by-tag (dom-by-class dom "order-2") 'p) "\n"))
+ (shr-insert-document (dom-by-class dom "order-5"))
+ (buffer-string))
+ `(my-libgen-plus-edition-infobox ,edition-id)
+ (called-interactively-p 'interactive)
+ )
+ ))
+
+(defun my-libgen-plus-infobox-action ()
+ (interactive)
+ (my-libgen-plus-edition-infobox
+ (alist-get 'edition-id (get-text-property (point) 'button-data))))
+
(defun my-libgen-check-md5 (file md5)
(let ((actual (substring (my-call-process-out "md5sum" file) 0 32)))
(unless (equal actual md5)
@@ -224,6 +243,7 @@
(let ((kmap (make-sparse-keymap)))
(set-keymap-parent kmap button-map)
(define-key kmap "d" 'my-libgen-plus-download-action)
+ (define-key kmap "i" 'my-libgen-plus-infobox-action)
;; (define-key kmap "t" 'my-libgen-download-onion-action)
;; (define-key kmap "p" 'my-libgen-show-more-info)
kmap))