Skip to content

feat: extract EPUB series metadata for OPDS feeds - #60

Merged
dubyte merged 1 commit into
mainfrom
feat/epub-series-metadata
Jul 11, 2026
Merged

feat: extract EPUB series metadata for OPDS feeds#60
dubyte merged 1 commit into
mainfrom
feat/epub-series-metadata

Conversation

@dubyte

@dubyte dubyte commented Jul 11, 2026

Copy link
Copy Markdown
Owner

What: Extract calibre:series and calibre:series_index from EPUB OPF metadata and emit as <dc:series> / <dc:seriesPosition> in acquisition feeds.

Why: OPDS clients that support reading order (some versions of Moon+ Reader, custom clients) can group books by series and show them in correct order. Many publisher EPUBs and Calibre exports include this metadata.

Changes:

  • Added Series and SeriesIndex fields to CatalogEntry
  • Extended extractEpubMetadata() to parse <meta name="calibre:series"/> and <meta name="calibre:series_index"/> with namespace fallback
  • Extended opds.Entry struct with DcSeries and DcSeriesPosition XML fields
  • Added Series() and SeriesPosition() builder methods to EntryBuilder
  • makeFeed() emits series metadata when ExtractMetadata is enabled
  • Updated extractMetadata() return signature: 6 values

Verification:

  • All tests pass (go test ./...)
  • Clean compile

This is the second post-v1.10.0 recommendation from the improvement plan. After this merges, next up is EPUB subject/genre extraction.

Extract calibre:series and calibre:series_index from EPUB OPF <meta>
tags and emit them as <dc:series> and <dc:seriesPosition> in
acquisition feeds. Enables reading order views in OPDS clients that
support series metadata.

Changes:
- Added Series and SeriesIndex fields to CatalogEntry
- Extended extractEpubMetadata() to parse <meta> tags with namespace fallback
- Extended Entry struct with DcSeries and DcSeriesPosition XML fields
- Added Series() and SeriesPosition() builder methods
- Updated makeFeed() to emit series metadata when ExtractMetadata is on
- Updated extractMetadata() return signature to 6 values
@dubyte
dubyte merged commit 4428721 into main Jul 11, 2026
1 check passed
@dubyte
dubyte deleted the feat/epub-series-metadata branch July 11, 2026 22:34
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.

1 participant