3 ms·
https://github.com/gnull/kalina https://github.com/gnull/kalina I'm working on a console-based RSS client in Haskell. The original plan was to implement the ba
by gnull 6y ago
https://github.com/gnull/kalina https://github.com/gnull/kalina
I'm working on a console-based RSS client in Haskell. The original plan was to implement the basic functionality of Newsboat (which currently is being rewritten from C++ to Rust).
It's still raw, but I already started using it as my primary RSS client. Right now it can fetch feeds, display them in a nice menu, maintain read status, open urls in a browser. The next features I'm going to add are support for configuration files (everything's hardcoded now) and tags + filtering.
--
Newsboat had a few problems inherent to C++ (like occasional segfaults) and the TUI library it used. Knowing about these, I started googling for alternatives written in a higher-level language. And spotted the announcement [1] of the Newsboat author, saying that he's going to rewrite Newsboat in Rust. When I read that, the rewrite was already going on for months with still no end in sight. I thought, "Heck! I can implement this in Haskell in a few days!" By now I spent about a week of full-time work on the project (spread over months), and got a bare working prototype.
My estimate was too optimistic, of course, I didn't foresee all the difficulties I encountered later and all the things I had to learn. But still, I think if I spend one more week on this, I can get a fully-featured and polished RSS client — Haskell makes programming a lot cheaper.
[1]: https://github.com/newsboat/newsboat/issues/89 https://github.com/newsboat/newsboat/issues/89
- asdff 6y agoWould it be possible to extract full text from articles and view it all in the terminal?
- gnull 6y agoRSS feeds often contain the article text in HTML, and parsing webpages shouldn't be necessary. Kalina, like Newsboat, does support viewing these in terminal—I use Pandoc library to convert HTML to text, links and images are not preserved. I don't know if fetching webpages and rendering them in terminal is a good idea. You can always use a terminal-based browser like w3m to open them. And I'm afraid most of such pages will be cluttered with animated popups and sidebars, filtering which will require some heuristics. Don't know it's worth it. But this is still something to look into in the future—at the moment there are more urgent things to do in Kalina.