Hello team, this is my first time posting here, Iβm quite new new to Clojure and decided to make a first project to learn it. I started to make an EPUB parser and felt the need to have my code reviewed by some Clojure experts before writing more π For now all it does is: β’ Look for the entries in the EPUB zip file β’ Check the mimetype of the given zip file β’ Finds the the βcontainerβ file to get the path of the the βpackageβ document (requires some xml parsing) β’ Print the ordered list of the files making the content actual book aka. the spine The code lives here: https://github.com/hmatheisen/epub-clj I realise now it may require some knowledge on how EPUB files work but itβs not that complex (https://www.w3.org/TR/epub-33/) Iβd love to have some feedback on it ! Thanks a lot π
Looks pretty reasonable. It looks like xml search functions like package-list-items look in a specific relative position which may be kind of brittle (I'm not familiar with the epub format). Since you're already using zippers, you might be able to use something like https://grishaev.me/en/zippo/ to do a more precise recursive search of the xml contents.