Sort and group headlines
Even though sorting by feed id is completely meaningless, it is easy.
This commit is contained in:
parent
e8a8a700a4
commit
aef68eb804
1 changed files with 16 additions and 3 deletions
19
avandu.el
19
avandu.el
|
@ -687,14 +687,27 @@ This screen shows the contents of an article.
|
||||||
\\{avandu-overview-map}
|
\\{avandu-overview-map}
|
||||||
\\<avandu-overview-map>")
|
\\<avandu-overview-map>")
|
||||||
|
|
||||||
|
(defsubst avandu--feed-id (alist)
|
||||||
|
"Get a feed_id from ALIST."
|
||||||
|
(cdr (assoc 'feed_id alist)))
|
||||||
|
|
||||||
|
(defun avandu--order-feed (feed1 feed2)
|
||||||
|
"Return t if FEED1 should be sorted before FEED2."
|
||||||
|
(string< (avandu--feed-id feed1) (avandu--feed-id feed2)))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun avandu-overview ()
|
(defun avandu-overview ()
|
||||||
"Request the headlines of unread articles and list them grouped
|
"Request the headlines of unread articles and list them.
|
||||||
by feed."
|
|
||||||
|
The list is grouped and sorted by feed ID. Sorting by feed ID is
|
||||||
|
meaningless, but it's easy."
|
||||||
(interactive)
|
(interactive)
|
||||||
(avandu--check-login)
|
(avandu--check-login)
|
||||||
(let ((buffer (get-buffer-create "*avandu-overview*"))
|
(let ((buffer (get-buffer-create "*avandu-overview*"))
|
||||||
(result (avandu-headlines -4 :show-excerpt t :view-mode "unread"))
|
(result (sort (cl-coerce (avandu-headlines -4 :show-excerpt t
|
||||||
|
:view-mode "unread")
|
||||||
|
'list)
|
||||||
|
#'avandu--order-feed))
|
||||||
feed-id)
|
feed-id)
|
||||||
(with-current-buffer buffer
|
(with-current-buffer buffer
|
||||||
(setq buffer-read-only nil)
|
(setq buffer-read-only nil)
|
||||||
|
|
Loading…
Reference in a new issue