epub の画像ファイル名を連番に修正するのrubyプログラムを真面目に書き直そうと考えた。とりあえず epubの xml 構造をパースしようと調べて見付けたのが epub-parser。
メンテナンスがされているようなので使ってみた。かなり便利なので、自前でパーサーを作るより断然おすすめ。
ドキュメントはModule: EPUB — Documentation by YARD 0.9.37。
epubをそのまま扱うこともできるし、unzipしたフォルダを扱うこともできる。
こんな感じで使うことができる:
require 'epub/parser'
book = EPUB::Parser.parse('example.epub')
book.manifest.each_item do |item|
puts item.media_type
end