Tags: andileco/php-epub
Tags
Fix identifier mismatch, preserve layout in dedup, emit subtitle/edition - Memoize the auto-generated UUID in Metadata::getIdentifier() so the OPF dc:identifier and NCX dtb:uid always match (previously every call returned a fresh UUID, failing epubcheck on every book). - Add Chapter::withSubChapters() and use it during chapter ID deduplication so parent chapters keep their layout, viewport, and other properties (previously rebuilt chapters silently lost fixed-layout overrides). - Emit subtitle (dc:title with title-type refinement) and edition (schema:bookEdition) in the OPF; both setters were previously accepted but never output. - Remove unused MimeTypes::fromExtension() and an unused import in NavBuilder; add .m4a audio mapping. - Add LICENSE (MIT), phpunit.xml.dist, and .gitignore. - Add regression tests for identifier consistency, subtitle/edition output, and layout preservation on nested chapters. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bqt5ZiReX6Bks6JahW67VR