Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(rss): styling for the webview #1648

Open
aarnphm opened this issue Dec 13, 2024 · 7 comments
Open

feat(rss): styling for the webview #1648

aarnphm opened this issue Dec 13, 2024 · 7 comments
Labels
enhancement New feature or request

Comments

@aarnphm
Copy link
Collaborator

aarnphm commented Dec 13, 2024

ofc you should use a reader aggregator for your own rss feed, but we should have a default view for these

Example from my end with the feed.xsl

also might be worth to think about supporting atom

@aarnphm aarnphm added the enhancement New feature or request label Dec 13, 2024
@aarnphm
Copy link
Collaborator Author

aarnphm commented Dec 13, 2024

cc @bfahrenfort

@saberzero1
Copy link
Collaborator

We currently generate the RSS ourselves. We could consider using a package to generate both RSS and Atom (and possibly other formats.)

A few possible candidates:

@aarnphm
Copy link
Collaborator Author

aarnphm commented Dec 13, 2024

that's fine tbh, I think we can still just generate the feed ourselves (it is just a string format in most cases :))

@bfahrenfort
Copy link
Contributor

bfahrenfort commented Dec 13, 2024

Like you say, RSS and Atom are semantically different but exactly the same thing. It doesn't make much sense to generate both, anything that supports RSS also supports Atom. When I started contributing to Quartz, contentIndex was generating a broken Atom that failed validation, I just converted it to RSS because that was what I knew at the time. If we want to convert the feed code to Atom instead of RSS it's extremely easy, I just don't really see a point. (Maybe on top of my PR, add a bool in the options for RSS vs Atom and write corresponding generateAtomEntry and finishAtomFeed, with conditionals to generate either based on the switch?)

Now, there is a very niche new contender which works in JSON, that looks interesting, but I'm not terribly interested in advocating for the expansion of a niche within a niche... JSON Feed

Re: styling, I actually played around with creating an xsl style for quartz, but it has the major disadvantage of breaking mimetypes for people who have set up their RSS readers to automatically open RSS links in the reader (it will always open in the rendered browser view instead).

RSS and Feed on npm both pull in pretty significant dev dependency trees, they would never be merged lol

@saberzero1
Copy link
Collaborator

Like you say, RSS and Atom are semantically different but exactly the same thing. It doesn't make much sense to generate both, anything that supports RSS also supports Atom. When I started contributing to Quartz, contentIndex was generating a broken Atom that failed validation, I just converted it to RSS because that was what I knew at the time. If we want to convert the feed code to Atom instead of RSS it's extremely easy, I just don't really see a point. (Maybe on top of my PR, add a bool in the options for RSS vs Atom and write corresponding generateAtomEntry and finishAtomFeed, with conditionals to generate either based on the switch?)

Now, there is a very niche new contender which works in JSON, that looks interesting, but I'm not terribly interested in advocating for the expansion of a niche within a niche... JSON Feed

Re: styling, I actually played around with creating an xsl style for quartz, but it has the major disadvantage of breaking mimetypes for people who have set up their RSS readers to automatically open RSS links in the reader (it will always open in the rendered browser view instead).

RSS and Feed on npm both pull in pretty significant dev dependency trees, they would never be merged lol

Gotta love the irony of the RSS feed link on the JSON feed site.

Anyway, I'm not sure I understand what you mean with significant dev dependency trees. NPM dependencies only pull in their transitive dependencies, not their transitive dev dependencies. This would mean 1 or 2 packages in this case.

@bfahrenfort
Copy link
Contributor

bfahrenfort commented Dec 13, 2024

I had assumed that when you add a package as a dev dependency it would pull in its own dev dependencies.

And yeah, pretty funny that they don't eat their own dog food even partially lol (edit: they do have a json feed on their site, so much for my fun)

@saberzero1
Copy link
Collaborator

I had assumed that when you add a package as a dev dependency it would pull in its own dev dependencies.

And yeah, pretty funny that they don't eat their own dog food even partially lol (edit: they do have a json feed on their site, so much for my fun)

Dev dependencies are for when you want to do development on the package. So you should only install dev dependencies when you are developing the package in question.

Just like if you work on Quartz, you would npm install --include=dev in order install all the type definitions for your LSP to be able to give you warnings, errors, and type validations in your editor. None of these are in the final production build.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants