{"id":13569451,"url":"https://github.com/remyhonig/elfeed-org","last_synced_at":"2026-03-13T12:33:48.989Z","repository":{"id":388218,"uuid":"16252862","full_name":"remyhonig/elfeed-org","owner":"remyhonig","description":"  Configure the Elfeed RSS reader with an Orgmode file","archived":false,"fork":false,"pushed_at":"2025-03-11T10:00:04.000Z","size":134,"stargazers_count":368,"open_issues_count":21,"forks_count":34,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-12-21T05:22:33.832Z","etag":null,"topics":["elfeed","elfeed-rss-reader","emacs","emacs-lisp","opml","orgmode"],"latest_commit_sha":null,"homepage":null,"language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/remyhonig.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-01-26T12:41:06.000Z","updated_at":"2025-12-17T09:24:50.000Z","dependencies_parsed_at":"2023-11-14T22:24:20.105Z","dependency_job_id":"ccde7d2a-17ba-499b-befc-17097d3731ee","html_url":"https://github.com/remyhonig/elfeed-org","commit_stats":{"total_commits":123,"total_committers":21,"mean_commits":5.857142857142857,"dds":0.5365853658536586,"last_synced_commit":"3242ec0519800a58f20480c8a6e3b3337d137084"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/remyhonig/elfeed-org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remyhonig%2Felfeed-org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remyhonig%2Felfeed-org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remyhonig%2Felfeed-org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remyhonig%2Felfeed-org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/remyhonig","download_url":"https://codeload.github.com/remyhonig/elfeed-org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remyhonig%2Felfeed-org/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30467426,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T11:00:43.441Z","status":"ssl_error","status_checked_at":"2026-03-13T11:00:23.173Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elfeed","elfeed-rss-reader","emacs","emacs-lisp","opml","orgmode"],"created_at":"2024-08-01T14:00:40.248Z","updated_at":"2026-03-13T12:33:48.959Z","avatar_url":"https://github.com/remyhonig.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"elfeed-org\n==============\n\n  Configure the Elfeed RSS reader with an Orgmode file\n\n# Problem\n\nMaintaining tags for all my rss feeds is cumbersome using the regular flat list\nwhere there is no hierarchy and tag names are duplicated a lot. For example\nthis is how elfeed users typically configure their subscriptions.\n\n```emacs-lisp\n(defvar elfeed-feeds-alist\n  '((\"http://threesixty360.wordpress.com/feed/\" blog math)\n    (\"http://www.50ply.com/atom.xml\" blog dev)\n    (\"http://blog.cryptographyengineering.com/feeds/posts/default\" blog)\n    (\"http://abstrusegoose.com/feed.xml\" comic)\n    (\"http://accidental-art.tumblr.com/rss\" image math)\n    (\"http://english.bouletcorp.com/feed/\" comic)\n    (\"http://curiousprogrammer.wordpress.com/feed/\" blog dev)\n    (\"http://feeds.feedburner.com/amazingsuperpowers\" comic)\n    (\"http://amitp.blogspot.com/feeds/posts/default\" blog dev)\n    (\"http://pages.cs.wisc.edu/~psilord/blog/rssfeed.rss\" blog)\n    (\"http://www.anticscomic.com/?feed=rss2\" comic)\n    (\"http://feeds.feedburner.com/blogspot/TPQSS\" blog dev)))\n```\n\nIf you want to add a custom title to a feed, that is even more cumbersome...\n\n# Solution\n\nOrg-mode makes the book keeping of tags and feeds much easier. Tags get\ninherited from parent headlines so there is no need to specify tags for each\nand every feed.\n\n```org\n* Blogs                                                              :elfeed:\n** entry-title: \\(linux\\|linus\\|ubuntu\\|kde\\|gnome\\)                  :linux:\n** http://git-annex.branchable.com/design/assistant/blog/index.rss :mustread:\n** http://feeds.feedburner.com/InformationIsBeautiful\n** [[http://orgmode.org][Org Mode Links supported as well]]\n** Software Development                                                 :dev:\n*** Emacs                                                    :emacs:mustread:\n**** http://www.terminally-incoherent.com/blog/feed\n**** http://nullprogram.com/feed\n**** entry-title: \\(emacs\\|org-mode\\)\n**** http://planet.emacsen.org/atom.xml\n**** [[toobnix:154][EmacsConf]]\n*** Web Development                                                     :web:\n**** http://planet.phpunit.de/atom.xml\n**** http://feeds.feedburner.com/symfony/blog\n**** http://feeds.feedburner.com/qooxdoo/blog/content\n*** Eclipse                                                         :eclipse:\n**** http://blog.eclipse-tips.com/feeds/posts/default?alt=rss\n**** http://ed-merks.blogspot.com/feeds/posts/default\n     A description of a feed can be written under any headline.\n     The text will be ignored by elfeed.\n**** http://feeds.feedburner.com/eclipselive                         :ignore:\n**** http://www.fosslc.org/drupal/rss.xml                             :video:\n#+link: toobnix https://toobnix.org/feeds/videos.xml?videoChannelId=\n```\n\nSome highlights:\n\n* `[[http://orgmode.org][Org Mode Links supported as well]]` If you choose to use org-mode links, the link description will be used as the feed's title in Elfeed. This is useful for feeds with long titles.\n* `entry-title: \\(emacs\\|org-mode\\)` Tags any blog post with \"emacs\" or \"org-mode\" in the title according to it's given and inherited tags (in the example above \"emacs\", \"mustread\" and \"dev\").\n* `http://feeds.feedburner.com/eclipselive :ignore:` The \"ignore\" excludes the feed completely from your checked subscriptions. You can use another name for \"ignore\" by customizing `rmh-elfeed-org-ignore-tag`. These \"ignore\" tags are set by elfeed-org automatically on feed errors (wrong urls or renamed feeds for example) if `rmh-elfeed-org-auto-ignore-invalid-feeds` is set to `t`.\n\n## Import/Export OPML\n\nUse `elfeed-org-export-opml` to export the tree structure of feeds to OPML format to a temporary buffer. This will allow you to make edits before saving it. You will probably want to do this because most readers don't allow more than 2 levels while elfeed-org has no limit.\n\nUse `elfeed-org-import-opml` to import an OPML file to an elfeed-org structured tree.\n\n## The Configuration Tree\n\nYou can use multiple trees. Those trees can be in same file or spread\nacross multiple files specified in the list\n`rmh-elfeed-org-files`. Why would I want to use multiple trees? You\ncan have a tree in a file that you may want to share with your\n`emacs.d` on GitHub and keep your personal feeds in a separate private\nrepository.\n\nIn the initial version of this package the tree is identified by\nsetting the ID property to to the value of `rmh-elfeed-org-tree-id`\n(\"elfeed\" by default) but that property turns out to be special (see\nthe\n[org mode manual](http://orgmode.org/manual/Special-properties.html#Special-properties))\nand I should not have used it. To not break any existing users'\nconfigurations this is still allowed but I recommend to tag the tree\nnow with the value of `rmh-elfeed-org-tree-id`.\n\nSo instead of\n\n```org\n* Blogs\n :PROPERTIES:\n :ID: elfeed\n :END:\n```\n\nI recommend to use\n\n```org\n* Blogs                                                              :elfeed:\n```\n\n# Tips\nA few tips for the org-mode feed configuration:\n\n* The tree should have a tag matching the string specified in the\n  variable `rmh-elfeed-org-tree-id`.\n* Feeds must start with `http`, or be in\n  [org-mode link format](http://orgmode.org/org.html#Link-Format) (the\n  URL should still start with `http`).\n* Tag rules must start with `entry-title: ` and end with a regular expression.\n* A tag rule tags all the posts that match the regular expression in the title\n  using a \"tag hook\" with `elfeed-make-tagger`. For more info see https://github.com/skeeto/elfeed\n* You may add text below the headline with the url to describe the\n  feed or to add notes. They will be ignored.\n* Headlines not starting with `http` or `entry-title: ` will be ignored.\n\n# Installation\n\n## Requirements\n\nRuns on emacs versions specified in `.github/workflows/ci.yml`\n\nThis package needs `org-mode 8.2.7` to run properly if you use the `emacs-24` distribution. The reason that that org-mode version is needed is because `org-mode 8.2.6` - at least in combination with `GNU Emacs 24.4.50.1` - causes the error `(error \"recenter'ing a window that does not display current-buffer.\")`.\n\nThe minimum version of org-mode that is minimally needed to even run is `org-mode 8.1` as that is the first release that defined the function `org-element-map` which is critical for this package.\n\n## Spacemacs\n[![Built with Spacemacs](https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg)](http://spacemacs.org)\n\nThis package is part of the excellent [Spacemacs](http://spacemacs.org/). See [Elfeed Layer Documentation](http://spacemacs.org/layers/+web-services/elfeed/README.html) for installation instructions.\n\n## Through MELPA\n[![MELPA](http://melpa.org/packages/elfeed-org-badge.svg)](http://melpa.org/#/elfeed-org)\n\n```\n;; Install through package manager\nM-x package-install \u003cENTER\u003e\nelfeed-org \u003cENTER\u003e\n```\n\n## Manual\n\nDownload elfeed-org\n\n```ShellSession\n$ cd ~/.emacs.d/lisp\n$ wget https://github.com/remyhonig/elfeed-org/blob/master/elfeed-org.el\n```\n\nInstall the package in Emacs\n\n```\nC-x C-f ~/.emacs.d/lisp/elfeed-org.el \u003cENTER\u003e\nM-x package-install-from-buffer \u003cENTER\u003e\n```\n\n# Initialization\n\nIn your initialization script add the following:\n\n```emacs-lisp\n;; Load elfeed-org\n(require 'elfeed-org)\n\n;; Initialize elfeed-org\n;; This hooks up elfeed-org to read the configuration when elfeed\n;; is started with =M-x elfeed=\n(elfeed-org)\n\n;; Optionally specify a number of files containing elfeed\n;; configuration. If not set then the location below is used.\n;; Note: The customize interface is also supported.\n(setq rmh-elfeed-org-files (list \"~/.emacs.d/elfeed.org\"))\n```\n    \n# Feature requests and bug fixes\n\nI appreciate feature requests and code snippets provided to fix things, but I really don't have much spare time nowadays. If you'd like to add a feature or fix a bug, please post a pull requests and I will merge it right away if has a corresponding test and an update of the README if applicable. I just migrated the CI from Travis - which was not functional anymore - to Github Action so this should be a faster process now. And to close off: a big thank you to all PR authors and issue submitters!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremyhonig%2Felfeed-org","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fremyhonig%2Felfeed-org","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremyhonig%2Felfeed-org/lists"}