Coder Social home page Coder Social logo

Comments (2)

duncan-bayne avatar duncan-bayne commented on August 15, 2024

Re. 2, this approach by Xah Lee might work: http://xahlee.info/emacs/emacs/emacs_dired_open_file_in_ext_apps.html.

Could wind up being amusingly circular for some folks; browse the URL, pass through xdg-open, which calls back into Emacs to be handled by Elpher 🤣 So presumably this could be configurable - either call out or invoke elpher-go, or something.

from elfeed.

jtecca avatar jtecca commented on August 15, 2024

Hi @duncan-bayne, it's been a while since I last looked at the elfeed code, but the issues you laid out were what I was thinking of when I was working on the Gopher part of elfeed (which is merged and working, BTW). I had wanted to implement gopher and gemini at the same time, but went with gopher only because it was what I could finish with the time I had available.

The lack of native gemini support in curl was the main reason I only implemented gopher support on my PR.

Elfeed heavily relies on curl as the primary mode of cross-compatibility, otherwise relying on Emacs' url-retrieve. IIRC it's not currently designed to have some sort of context switch on curl/not curl based on the protocol -- it's a setting that defines how all feeds are retrieved when elfeed is invoked. You could potentially hack in some sort of context switch to call something like xdg-open but I think it would be brittle (and a literal hack) without rewriting a lot of the assumptions about how elfeed is designed.

If I had free time to work on this, I'd probably implement this as a separate extension package that requires both elfeed and elpher as requirements. It may be easier to write some glue code to call the elpher API to handle the protocol to grab documents from the feed and then tap in directly to the elfeed DB API to add entries to the database. The big downside to this is if skeeto makes any major changes to the DB API then you'll have breaking changes. Given that there hasn't been much updates to the codebase, you might be okay. I'd then plan to depricate this extension package as soon as gemini support lands in curl.

Good luck! This is something I'd use if you're able to work on it.

from elfeed.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.