### Install elfeed-summary with use-package and straight Source: https://github.com/sqrtminusone/elfeed-summary/blob/master/README.org This Emacs Lisp snippet shows how to install the elfeed-summary package using the use-package macro with the straight.el package manager. Ensure elfeed is already configured. ```emacs-lisp (use-package elfeed-summary :straight t) ``` -------------------------------- ### Elfeed Auto-Tags Tree Structure Example Source: https://github.com/sqrtminusone/elfeed-summary/blob/master/README.org This example illustrates how 'auto-tags' constructs a hierarchical tree from feeds and their associated tags. It shows a 'tag1 -> tag2' and 'tag1 -> tag3' structure derived from sample feed-tag assignments. ```text #+begin_example feed1 tag1 tag2 feed2 tag1 tag2 feed3 tag1 tag3 feed4 tag1 tag3 #+end_example It will create the following tree: - tag1 - tag2 - feed1 - feed2 - tag3 - feed3 - feed4 ``` -------------------------------- ### Elfeed Summary Configuration Example Source: https://github.com/sqrtminusone/elfeed-summary/blob/master/README.org This Emacs Lisp code snippet demonstrates a sample configuration for elfeed-summary. It defines various groups for organizing feeds by categories like GitHub, Blogs, Podcasts, and Videos, using nested group structures and specific queries. ```emacs-lisp (setq elfeed-summary-settings '((group (:title . "GitHub") (:elements (query . (url . "SqrtMinusOne.private.atom")) (group . ((:title . "Guix packages") (:elements (query . (and github guix_packages))) (:hide t))))) (group (:title . "Blogs [Software]") (:elements (query . software_blogs))) (group (:title . "Blogs [People]") (:elements (query . (and blogs people (not emacs))) (group (:title . "Emacs") (:elements (query . (and blogs people emacs)))))) (group (:title . "Podcasts") (:elements (query . podcasts))) (group (:title . "Videos") (:elements (group (:title . "Music") (:elements (query . (and videos music)))) (group (:title . "Tech") (:elements (query . (and videos tech)))) (group (:title . "History") (:elements (query . (and videos history)))) ;; ... )) ;; ... (group (:title . "Miscellaneous") (:elements (group (:title . "Searches") (:elements (search (:filter . "@6-months-ago sqrtminusone") (:title . "About me")) (search (:filter . "+later") (:title . "Check later")))) (group (:title . "Ungrouped") (:elements :misc)))))) ``` -------------------------------- ### Elfeed Auto-Tags Original Order Example Source: https://github.com/sqrtminusone/elfeed-summary/blob/master/README.org This example demonstrates the effect of the ':original-order' option in 'auto-tags'. It contrasts the default 'optimal' tree with a structure that preserves the original tag order as defined in 'elfeed-feeds', mimicking a specific hierarchy. ```text #+begin_example ,* tag1 :tag1: ,** feed1 ,** feed2 :tag2: ,** feed3 :tag2: ,* tag3 :tag3: ,** feed4 :tag2: ,** feed5 :tag2: ,** feed6 :tag2: #+end_example Will be converted to this: - tag1 - feed1 - tag2 - feed2 - feed3 - tag3 - tag2 - feed4 - feed5 - feed6 Whereas without =:original-order= the structure will be: - tag1 - feed1 - tag2 - tag1 - feed2 - feed3 ``` -------------------------------- ### Elfeed Configuration Syntax: List Notation Source: https://github.com/sqrtminusone/elfeed-summary/blob/master/README.org This explains a shorthand notation in Elfeed configuration where '(key . ((values)))' is equivalent to '(key (values))'. This syntax helps in creating more concise configuration definitions. ```emacs-lisp ;; Also keep in mind that ='(key . ((values)))= is the same as ='(key (values))=. This helps to shorten the form in many cases. ``` -------------------------------- ### Elfeed Search Parameters Definition Source: https://github.com/sqrtminusone/elfeed-summary/blob/master/README.org This describes the structure of the search parameters alist used in Elfeed. It specifies mandatory keys like ':filter' and ':title', and optional keys like ':tags' for filtering and organizing feed entries. ```emacs-lisp ;; == is an alist with the following keys: ;; - =:filter= (mandatory) filter string, as defined by ;; =elfeed-search-set-filter= ;; - =:title= (mandatory) title. ;; - =:tags= - list of tags to get the face of the entry. ``` -------------------------------- ### Elfeed Tag Group Parameters Definition Source: https://github.com/sqrtminusone/elfeed-summary/blob/master/README.org This details the parameters for 'tag-groups' in Elfeed, another method for automatic feed grouping. It specifies the feed source, whether feeds can repeat in groups, and the face for group display. ```emacs-lisp ;; == is an alist with the following keys: ;; - =:source= - which feeds to use to build the tree. ;; Can be =:misc= (default) or =(query . )= ;; - =:repeat-feeds= - allow feeds to repeat. Otherwise, each feed is ;; assigned to group with the least amount of members. ;; - =:face= - face for groups. ``` -------------------------------- ### Elfeed Auto-Tags Parameters Definition Source: https://github.com/sqrtminusone/elfeed-summary/blob/master/README.org This outlines the parameters for the 'auto-tags' feature in Elfeed, which automatically generates feed groups based on tags. It includes options for maximum tree level, source of feeds, and order of tags. ```emacs-lisp ;; == is an alist with the following keys: ;; - =:max-level= - maximum level of the tree (default 2) ;; - =:source= - which feeds to use to build the tree. ;; Can be =:misc= (default) or =(query . )= ;; - =:original-order= - do not try to build a more concise tree by ;; putting the most frequent tags closer to the root of the tree. ;; - =:faces= - list of faces for groups. ``` -------------------------------- ### Elfeed Configuration Warning Source: https://github.com/sqrtminusone/elfeed-summary/blob/master/README.org A cautionary note regarding Elfeed configuration, stating that the variables are not validated. Incorrect values might lead to cryptic errors, and users should be aware of this limitation. ```emacs-lisp ;; Also, this variable is not validated by any means, so wrong values can produce somewhat cryptic errors. Sorry about that. ``` -------------------------------- ### Configure Opening elfeed-search in Other Window Source: https://github.com/sqrtminusone/elfeed-summary/blob/master/README.org This Emacs Lisp code snippet demonstrates how to configure elfeed-summary to open search results in a separate window. It sets the `elfeed-summary-other-window` variable to true and also mentions `elfeed-summary-width` for controlling the summary window's width when this feature is enabled. ```emacs-lisp (setq elfeed-summary-other-window t) ``` -------------------------------- ### Configure Skipping Feed Updates Source: https://github.com/sqrtminusone/elfeed-summary/blob/master/README.org This Emacs Lisp code snippet shows how to implement a feature to skip updating specific feeds in elfeed-summary. It involves setting the `elfeed-summary-skip-sync-tag` variable to a chosen tag (e.g., 'skip') and tagging feeds with this tag to exclude them from updates initiated by `elfeed-summary-update`. It also provides advice to override `elfeed-update` with `elfeed-summary-update`. ```emacs-lisp (setq elfeed-summary-skip-sync-tag 'skip) (advice-add #'elfeed-update :override #'elfeed-summary-update) ``` -------------------------------- ### Custom Elfeed Search Filter Function Source: https://github.com/sqrtminusone/elfeed-summary/blob/master/README.org This Emacs Lisp function, `my/elfeed-search-filter-source`, allows users to filter the elfeed search buffer to display only unread entries from the feed currently under the cursor. It constructs a filter query based on the feed's URL, ensuring only relevant entries are shown. The function is intended to be bound to a key for quick access. ```emacs-lisp (defun my/elfeed-search-filter-source (entry) "Filter elfeed search buffer by the feed under the cursor." (interactive (list (elfeed-search-selected :ignore-region))) (when (elfeed-entry-p entry) (elfeed-search-set-filter (concat "@6-months-ago " "+unread " "=" (replace-regexp-in-string (rx "?" (* not-newline) eos) "" (elfeed-feed-url (elfeed-entry-feed entry))))))) ``` -------------------------------- ### Elfeed Special Form: :misc Source: https://github.com/sqrtminusone/elfeed-summary/blob/master/README.org This special form in Elfeed is used to represent feeds that were not categorized by any other query or group. It serves as a catch-all for unassigned feeds within the summary configuration. ```emacs-lisp ;; Available special forms: ;; - =:misc= - print out feeds, not found by any query above. ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.