Coder Social home page Coder Social logo

Comments (3)

kamidon avatar kamidon commented on August 15, 2024

One potential concern that I have is that link URLs could theoretically pointing anywhere, not just at the site I originally configured. It would be nice to lock that down more tightly somehow. Perhaps having an elfeed-entry-base-url property for feeds that gets used in place of calculating the base URL from the feed URL if configured.

from elfeed.

kamidon avatar kamidon commented on August 15, 2024

I looked at this a bit more today. I was thinking of changing elfeed-show-refresh--mail-style to check if the metadata on the feed has a :entry-base-url plist entry and use that in place of the current base computed from the feed URL if present. Would a change like this be acceptable?

I'm an elfeed-org user as well so if this change would be acceptable I'll also submit a PR to elfeed-org to allow feed metadata to be specified, probably using a property on the feed entries.

from elfeed.

kamidon avatar kamidon commented on August 15, 2024

Given the proposed commit I made hasn't had an enthusiastic reception I've resorted to solving this a different way for now. I used :around advice on elfeed-compute-base that intercepts the URL being passed in, matches against it, and allows it to be replaced. If anyone arrives here and is interested in this workaround, the advice function I defined is:

 (defvar kea/elfeed-compute-base-url-rewrites nil
   "List of lists of replace-regexp-in-string arguments w/o the actual string")
 (defun kea/elfeed-compute-base-url-rewrite-advice (fn url)
   (mapc (lambda (args)
           (let ((regexp (nth 0 args))
                 (rep (nth 1 args))
                 (optargs (nthcdr 2 args)))
             (setq url (apply #'replace-regexp-in-string regexp rep url optargs))))
         kea/elfeed-compute-base-url-rewrites)
   (funcall fn url))

For the problem reporting here I'm setting kea/elfeed-compute-base-url-rewrites to

   (setq kea/elfeed-compute-base-url-rewrites
               `((,(rx line-start "http" (opt "s") "://feeds.kottke.org/")
                  "https://kottke.org/")))

I still think my proposed patch is a more elegant solution for this problem, but this works around the problem until there is an upstream fix without me having to maintain my fork.

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.