Overthunk

Re-RSS: A Clojure RSS Reader

Jul 24, 2020


Contents

Expectations

I was expecting to do some work on implementing link filters today and also on submitting the PR for the Athena RegEx issue. Unfortunately I didn’t end up doing much work on the Link Filters (although I really want to. Implementing a new feature would be really cool). However I did get started on my own re-frame project today. I’m trying to build a functioning RSS Reader in Clojure!

What I learned today

Biggest lesson for today is that Clojure -> ClojureScript is not as easy as it looks. There’s a lot of subtle differences that can come bite you in the ass. I ran into one issue where I was trying to use the slurp function to pull data from a website but slurp doesn’t exist in ClojureScript so that didn’t pan out.

I ended up having to download an external library - cljs-http to try and make requests from within CLJS. But even this has some issues. Classic issue of CORS. I can never escape CORS for as long as I live.

Beyond that, creating a new project turned out to be quite easy with the lein new re-frame <app> +cider +kondo command. From there, you get a nicely structured re-frame project! I started out by trying to create a function to validate a RSS feed URL by using existing feed validators. (Might have to just build my own damn validator and parser for this).

Takeaways

Didn’t really have any big insights today. Just that building a web-app with Cljs might be a bit more unintuitive than I thought.