Hi, Andre.  For your RSS reader, you're only displaying the RSS items themselves, not browsing to arbitrary other Web pages within the same Racket window, right?

For very plain HTML, one thing I would hesitate to use is the *very old* and *possibly insecure* GUI thing, but it might work for your purpose (be sure to sanitize any untrusted input HTML): https://docs.racket-lang.org/browser/index.html

You might be better off using one of the heavier text components of the Racket GUI library (maybe "https://docs.racket-lang.org/framework/Editor.html";, unless it's overkill?).  This isn't an HTML/CSS/JS/DOM engine, but I'd think you could do an RSS item or feed view in it.

Another option, and maybe often the usual way, is to use the user's own Web browser (or a standalone one you provide), and you only provide the HTTPS server.

A final option, which could be a ton of work to support cross-platform, but might be viable if you're targeting a single platform and willing to support it, is to do FFI with one of the big off-the-shelf Web browser engines, like WebKit (such as through WebKitGtk).  There's recent work on Guile bindings for something like that, but Racket has a lot of other stuff that Guile doesn't yet have.

Separately, for navigating from an RSS reader running as a Racket GUI program, to view arbitrary Web pages in the user's main Web browser, see: https://docs.racket-lang.org/browser/index.html#(mod-path._browser%2Fexternal)

(I'm pleasantly surprised that people are still interested in Web "syndication", despite some browsers and various commercial forces moving away from that, for various reasons.  If you're making a general-purpose RSS reader, an additional protocol to consider also supporting is "https://en.wikipedia.org/wiki/Atom_(Web_standard)". If you later want to be even more general-purpose, look at how "https://en.wikipedia.org/wiki/Gnus"; used the power of a Lisp to provide a sophisticated unified view from various messaging/syndication/etc. formats, including from Web-scraping.  In addition to threading features, it also had powerful scoring/ranking interfaces (both crafted rulesets and ad hoc).  Early research in automated collaborative filtering (what today we know as things like likes/upvotes, and perhaps recommendation systems) was also done atop Gnus. I'd say Gnus is probably still more powerful than any UI we're using today to access the same or analogous kinds of data sources, and it works on behalf of the user.  I don't know how much Gnu is developed lately, but it's worth looking at for ideas of what you can build, even better.)

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/c9be1a00-e9c3-91b5-ca2e-06b0ded2c35b%40neilvandyke.org.

Reply via email to