Using epubcheck on Linux

technology.pngJust a couple of quick notes to make your time with epubcheck a little bit nicer – at least, if you’re on a linux system.

This makes use of zenity (of course) and the tee command, which I’m just learning – and liking!

If you’ve ever seen a screen of epubcheck errors, it’s a huge scrolling mash of stuff that just fills pages and pages of terminal screen. Sometimes – especially if I made an error that impacts all the files in a book – it scrolls so far that I can’t see all of them.

This fixes that.

You can’t just do a standard redirection – if there’s an error, it goes to standard error, not standard output. So this command is necessary:

java -jar /path/to/epubcheck-1.2.jar “$1” 2>&1

This is meant to be part of a bash script, so “$1” is the full path to the file in question. The funky bit there at the end will make standard error into standard output, so you can pipe it to something like zenity:

java -jar /path/to/epubcheck-1.2.jar “$1” 2>&1| zenity –text-info –width 530 –height 250

But that doesn’t help us if we want a log of our errors, right?

#!/bin/bash

java -jar /path/to/epubcheck-1.2.jar “$1” 2>&1| tee >(zenity –text-info –width 530 –height 250) >logfile.log

And there you go! A logfile AND a nice zenity window full of your errors!

Popular posts:

  • The difference between boundaries and rules
  • My Dark Reality - A Dayton Band You Don't Want To Miss
  • It's not the labels, it's the behaviors that you justify with them.
  • If there's one Nazi (or a racist) at the table...
  • Compersion: The Skill You Absolutely Need In Your Relationship(s).
  • Organizing and Tiling Your Windows on #Openbox Using Only... Openbox
  • What's In A Label - Poly and Polyam

Recent Posts