CL-Remi-Rss
CL-Remi-Rss
is a small library for reading RSS feeds. It supports RSS version
2.0 (and 0.91 and 0.92), and is written entirely in Common Lisp.
Wanna support Remilia? Buy me a coffee on Ko-Fi, or support me through Liberapay.
How do I get set up?
Most dependencies can be installed via Quicklisp. The CL-SDM cannot, however. It can be obtained from:
Once you have the dependencies, put them (and this library) somewhere where ASDF can find them, then run this in a REPL:
(asdf:load-system :cl-remi-rss)
Usage
(asdf:load-system :cl-remi-rss)
;; Parse an RSS file
(remi-rss:parse #P"/path/to/file.rss")
;; Loop through all items that have appeared in the past 15 days and print their titles.
(let ((rss (remi-rss:parse #P"/path/to/file.rss")))
(remi-rss:with-items-newer-than (item rss 15 :day)
(format t "Item Title: ~a~%" (remi-rss:item-title item))))
Development
Known Limitations
Style info
I use a slightly unorthodox style for my code. Aside from these differences, please use normal Lisp formatting.
- Keep lines 118 characters or shorter. Obviously sometimes you can't, but please try. Use 115 characters for Markdown files, though.
- I mark types using the form
T/....
. For example,T/SOME-NEAT-TYPE
. For predicates on these, useSOME-NEAT-TYPE-P
. - No tabs. Only spaces.
How do I contribute?
- Go to https://chiselapp.com/user/MistressRemilia/repository/cl-remi-rss and clone the Fossil repository.
- Create a new branch for your feature.
- Push locally to the new branch.
- Create a bundle with Fossil that contains your changes.
- Get in contact with me.
Contributors
- Remilia Scarlet - creator and maintainer
- Homepage: https://remilia.sdf.org/
- Mastodon: @MistressRemilia@social.sdf.org
- Email: zremiliaz@postzeoz.jpz My real address does not contain Z's
Links and Licenses
CL-Remi-Rss is under the GNU Affero General Public License version 3.