Skip to content

Add episode image support and Podcasting 2.0 value tag#15

Open
ChadFarrow wants to merge 7 commits intodergigi:masterfrom
ChadFarrow:feat/episode-images
Open

Add episode image support and Podcasting 2.0 value tag#15
ChadFarrow wants to merge 7 commits intodergigi:masterfrom
ChadFarrow:feat/episode-images

Conversation

@ChadFarrow
Copy link

Summary

  • Add episode image support to RSS feeds with <itunes:image> and <podcast:image> tags
  • Add Podcasting 2.0 value tag with Lightning address support for podcast monetization
  • Extract images from event tags (image, r tags) and content URLs
  • Support multiple image formats (jpg, jpeg, png, gif, webp)

Changes

  • Added imageUrl field to MediaEvent type
  • Enhanced image extraction in NostrService to check r tags and content
  • Added extractImage() method to PodcastFeedGenerator
  • Implemented Podcasting 2.0 namespace with <podcast:value> tag
  • Added conditional rendering of episode images in RSS items

Test plan

  • Test with episodes that have image tags
  • Test with episodes that have image URLs in r tags
  • Test with episodes that have image URLs in content
  • Verify RSS feed validates with Podcasting 2.0 namespace
  • Test Lightning value tag with lud16 address

🤖 Generated with Claude Code

Your Name and others added 3 commits October 8, 2025 18:25
Add support for extracting and displaying episode images in RSS feeds using the itunes:image tag. Images are extracted from Nostr post r tags (reference/resource tags), image tags, or content URLs.

Changes:
- Add imageUrl field to MediaEvent interface
- Update NostrService.transformToMediaEvent to extract image URLs
- Update PodcastFeedGenerator.extractImage to check r tags, image tags, and content
- Add itunes:image tag to each episode item in RSS feed

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Remove duplicate URLs from the RSS feed for each episode. The media:content tag is redundant since the enclosure tag is all that podcast apps need to download media files.

Changes:
- Removed media:content tag from episode items in PodcastFeedGenerator
- Media URL now only appears in the required enclosure tag and description

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@vercel
Copy link
Contributor

vercel bot commented Oct 10, 2025

@renoschubert is attempting to deploy a commit to the dergigi's projects Team on Vercel.

A member of the Team first needs to authorize it.

@vercel
Copy link
Contributor

vercel bot commented Oct 19, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
pubcaster Ready Ready Preview Comment Nov 30, 2025 9:38pm

@dergigi
Copy link
Owner

dergigi commented Oct 19, 2025

Thanks for contributing! Please resolve the conflict and I'll have a look 🙏

Your Name added 2 commits October 19, 2025 17:29
…lue tag feature

- Fixed TypeScript errors by using correct NostrService methods
- Merged episode images (itunes:image tags) with value tags (podcast:value)
- Updated to use extractValueSplitFromEvent() and fetchZapProfiles()
- Removed references to non-existent profile.nodeid property
- Both sync and async versions now support both features
- Resolved conflicts by keeping the advanced PodcastFeedGenerator implementation
- Combines episode image support with podcast value tag features
- Uses NostrProfile and NDKEvent types for better functionality
- Includes both sync and async feed generation methods
@ChadFarrow
Copy link
Author

I think I fixed the issue but I don't really know what I'm doing :)

Removed extra closing brace at line 384 in PodcastFeedGenerator.ts that was causing a parsing error and preventing the build from completing successfully.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@ChadFarrow
Copy link
Author

Fixed! The build was failing due to a syntax error - there was an extra closing brace at line 384 in PodcastFeedGenerator.ts.

Changes made:

  • ✅ Removed duplicate closing brace causing parsing error
  • ✅ Build now passes successfully
  • ✅ All features verified working:
    • Episode images (<itunes:image> tags) ✓
    • Podcasting 2.0 value tag with Lightning support ✓
    • Image extraction from tags and content ✓

The PR is ready to merge!

@dergigi
Copy link
Owner

dergigi commented Nov 30, 2025

This branch has conflicts that must be resolved

…file support

Resolved merge conflict in PodcastFeedGenerator.ts to keep both:
- Episode image support (<itunes:image> tags)
- Updated value tag support (keysend with nodeid priority)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@ChadFarrow
Copy link
Author

Should be fixed now

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.

2 participants