Comments (6)
If you can do it in such a way that:
- It doesn't break RSS
- It doesn't break the public API
... then I'm OK with it.
On Sun, Feb 7, 2016 at 1:20 AM Eddie Scholtz [email protected]
wrote:
It looks like gorilla atom feeds don't support multiple links even though
the atom spec does:
https://tools.ietf.org/html/rfc4287#page-3From their example:
I'd like to add support for this but I wanted to get feedback from the
package owners first. As far as I can tell, RSS doesn't have a
corresponding feature. Suggestions on your preferred approach?—
Reply to this email directly or view it on GitHub
#32.
from feeds.
I took a look and I don't immediately see an elegant way to do it without breaking the public API.
I decided to switch to the example from the golang blog (https://github.com/golang/tools/blob/master/blog/atom/atom.go) since it supports multiple links and validates without errors/warnings. I don't need to support both RSS and Atom so it's a better tool for my use case.
from feeds.
Without support for multiple links in the atom feed, this package can't really be used for Atom feeds of significant size as previous and next links won't be available to navigate the feed. You could serve up a massive feed that contains everything, but it's not efficient for long running followers as they have to retrieve everything to get the latest entries, and not efficient for the server as the web caching can't be used.
from feeds.
I totally agree here, a library like this should follow the specs of the format they're trying to implement. Don't get me wrong, great work with the lib, but I had to make a separate fork of it to add the missing things to the atom format. At the same time I understand that it might be difficult to change gorilla/feeds since it would break the public API most likely.
If interested in the changes we made they can be seen here: unacast@85cd1cf. Note that I don't care about the abstraction, I work directly with the AtomFeed
.
from feeds.
Now with versioning we could break the public API. If anyone is interested in working on this, PRs would be welcome. Ideally some discussion of the proposed design would be good so that we can arrive at a design everyone agrees upon without wasted effort.
from feeds.
This issue has been automatically marked as stale because it hasn't seen a recent update. It'll be automatically closed in a few days.
from feeds.
Related Issues (20)
- [FEATURE] iTunes RSS extensions support
- [FEATURE] Ability to set isPermaLink="false" for guid
- Sort feed items by created timestamp HOT 5
- problems unmarshaling rss HOT 3
- New release? HOT 1
- Time for a new release? HOT 2
- Itunes Podcast Tags HOT 5
- Migrate to CircleCI HOT 1
- JSON Hubs are broken [bug] HOT 1
- [feature] RSS item can hold multiple <category> HOT 1
- [feature] isPermaLink="false" for guid field HOT 1
- [feature] add image/category/tags attributes HOT 2
- Spurious empty <summary> elements in atom feed HOT 12
- RSS feeds where items have author tags aren't valid HOT 3
- Support `xml:base` HOT 1
- [feature] Support JSON feed v1.1 HOT 4
- [bug] Sending deprecated Content-Type header HOT 3
- [bug] slice bounds out of range [-1:] HOT 1
- [bug] Panic when non-obligatory link field is not given to item HOT 5
- [feature] Allow multiple Links in a feed item HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from feeds.