Following professionally and privately different areas of interest (career development, science, technology, macroeconomy), RSS feed list grow to hundreds of feeds and several hundreds of daily updates. This package would be part of a workflow to gauge not only which feeds have been updated since last visit, but also scan the entire list of feeds, even if less frequently updated, and access to a filtered view of the main elfeed-search window.
Using scoring results in a clear sorted overall feed list, and it could be understandably maintained as first point of entry the feed list in the newsreading workflow. The elfeed-navi is designed as a future step in the same workflow. A rule-of-thumb could be to use scoring where the users know what they want to look for, and use elfeed-navi when the users does not yet know what they want to look for.
The evident alternative is live-filter directly the elfeed-search for the feed title, however it assumes the users knows what they are looking for. Another alternative would be using tags and live-filter the elfeed-search buffer, but this assume a tag management of a tag list that could grow at a similar rate as the feed list.
`elfeed’ creates the buffer `*elfeed-search*’ populated with the list `elfeed-search-entries’. The list is extracted from the `elfeed-db’ through a filter `elfeed-search-filter’. Both the filter and the list are buffer-local variables.
elfeed-navi does not interfaces with the elfeed-search list but rather build a local `elfeed-navi-entries’ list using the same, or modified when needed, filter used for elfeed-search: this allows for separate feeds lists used in the elfeed-search buffer and in the elfeed-navi buffer, as example when you apply a live filter in elfeed-search that does not need to impact the elfeed-navi.
- Add different summary aggregators other than `feed-title’, such as `tags’ and `today’
- Add custom aggregator based on custom aggregation rules (e.g. tag AND language
- Add a static section with entries always on top
(emacs-version)
Copy `elfeed-navi’ in PATH and evaluate `(load-path PATH)’.
Copy `elfeed-navi’ in PATH and add `(load-path PATH)’ to your emacs init file.
This code is required to use the navigator and interact appropriately with elfeed.
With PATH as the local folder where the module has been copied:
(load-path PATH)
(add-hook 'elfeed-search-update-hook 'elfeed-navi-store-filter)
While not strictly required for functioning, this code improve the experience.
(define-key elfeed-search-mode-map (kbd "a") #'elfeed-navi)
- Enter elfeed-navi
- Generate the feed list using `g’
- Navigate the list of feed titles using `n’ and `p’
- Hit `RET’ to enter elfeed and display the buffer `*elfeed-search*’ filtered by the feed title selected
- When returning to elfeed-navi, regenerate the summary using `G’; regenerating using `g’ would take the current elfeed-search filter that include the feed-title string, producing not-meaningful results.