Skip to content

feat: Atom feed generation#600

Closed
NickSdot wants to merge 46 commits intonuejs:masterfrom
NickSdot:pr-556
Closed

feat: Atom feed generation#600
NickSdot wants to merge 46 commits intonuejs:masterfrom
NickSdot:pr-556

Conversation

@NickSdot
Copy link
Contributor

@NickSdot NickSdot commented Aug 1, 2025

Closes: #283. This is a follow up to, and based on, #556.

Differences:

  • added nested collections feed generation
  • added missing fields like subtitle (prev. description), author
  • added has_feed option. It works with inerhitance, childs can be (in/ex)cluded on demand.
  • decoupled generation form getPageData()
  • proper handling of inherited data like author
  • handles dates properly
  • added tests

Discussion:

  • Because generation is opt-in via has_feed, I don't think adding a --feed flag is neccessary. When do you ever want to deploy without making sure your feed is updated? But your call, @tipiirai. Fwiw, performance lgtm.
  • As reported in Collection urls should not be ambigious #598 collection links are curreny ambigious. In this implementation I decided for the variant with trailing slash. I think it is out of scope for this PR to find a better solution, and collection links should append .html
  • As reported in Build directories are not fully wiped on new build #599 build directories are not fully wiped on new builds. This requires workaround like this to ensure a feed is no longer in the build if e.g. has_feed was changed to false. The issue, however, applies to normal files as well, not only feeds.

@nobkd I forked your branch and kept your commits so that you don't lose co-authorship.

albedosehen and others added 30 commits May 7, 2025 04:48
Remove `type` field as is not a field defined in the metadata syntax
for github actions.

Add description to the action and `root` input parameter. The input
parameter is not required as it has a default.
This has been updated to `standards-first-react-alternative`
which is the valid subdirectory.
Expand MIME type map in web server to broaden asset type support with fallback (fonts, source maps, etc)
Update legacy introducing-hyper link
To get out of scope changes out of nuejs#556 for a better diff
this is for testing only; should probably be removed before a potential merge
NickSdot added 16 commits August 1, 2025 14:09
frfr no cap, it's better! Nesting and the Nue value inheritance approach don't play well together. If the parent "lit.yaml" has a `collection_name` "bussin", and its child "lame.yaml" has no `collection_name`, the childs title would inherit the "bussin" even it's lame. Cringe, I don't feel it. Path is the right flex here fr.
also dropped the custom `subtitle` (a.k.a. "description") option here, and omitted rendering, because it has the same inheritance problem as described in the previous commit for the title. For now, I believe it's the most sensible thing to just ignore the optional (see spec) `subtitle`. Maybe someone can come up with a GOAT solution later.
everything I said in previous commits can safely be ignored
@NickSdot NickSdot changed the title [feat] Atom feed generation feat: Atom feed generation Aug 1, 2025
@NickSdot
Copy link
Contributor Author

I have a <link rel="alternate" type="application/atom+xml"/> implementation ready, too. Not 100% sure if it is how you with more core experience would do it. Wan't me to commit that here or prefer a separate PR later?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RSS Feed Generation

6 participants