Writing Tips – Smashing Smashwords’ Epub Smasher

Inspiration can be seen everywhere
Inspirational Wind Turbine

Epub file failing on smashwords, and you don’t know what the validator is flagging it for? Here’s your answer. Fix your epub and get it into the SmashWords Premium Catalog. Hacking the auto-vetting.

*Update: FTDB is in the Smashwords Premium Catalog today 4-20-2017

Validating an epub file has got to be the most frustrating part of the publishing process. You put in all this work, got your file where you think it needs to be, upload it to SmashWords or LSI, and it’s still failing the validator check. What gives?

Most of the time, these are problems in the HTML itself. My frustration came from not being able to actually see what the validator errors were, and SmashWords doesn’t exactly make it easy to find them. But digging around the site this morning, I finally found the link to the epub checker they are using, which scans your epub file, and tells you exactly where the problem is.

A couple of things. Before you ever try to make an epub file, it’s a good idea to get familiar with Sigil, and keep your manuscript in the simplest possible format. For most of us, this is RTF or TXT. It looks ugly as hell, but it makes the whole process so much easier.

Also, if you are using Scrivener, then it will most likely take care of the formatting for you, so some of this won’t be a problem. If you aren’t, then import your book to Sigil, one chapter at a time. You can follow my little guide on using Sigil to get started, and there are plenty of resources on the net for using the program.

Don’t make it fancy. Keep your book as plain as possible, and try to use styles to format your paragraph indents rather than the tab key (I broke this rule, btw, because I’m evil). Sigil puts out a pretty solid product that will pass Kindle checks, but there will still be some errors to fix after formatting. Upload your file to this site, and scan the error list.

Scary as hell, right? I’ve been writing HTML code since about 1993, so I’m not intimidated by mark-up language, but you don’t have to be a web-design expert to use this error list. Here’s the secret: if you are using Sigil to make your epub file, then you can double click on the open tab to bring up the code-view (there’s a button for this, also). Double clicking again will bring you back to the plain text view. If you have kept the rest of your process simple, then it should be easy to find errors, because Sigil, like many wonderful code editors, marks the line number and column number to indicate where exactly you are in your file. That list of errors also gives you line and column numbers.

You know what I had to fix on FTDB after I found this wonderful site? I had to change the filename of my cover photo, replace a few instances of ‘<p></p>’ with ‘<br/>,’ and change a few external links to contain the ‘http://’ part of the URL. That’s ALL! And then it passed validation. Since the epub was already passing the other checks on SmashWords, I have no doubt that it will be accepted now, and my book can show up in the premium store, where it belongs 😉

On your error list, there are 3 columns labeled file, line, and position. This is the gold, forget about everything else. Open you epub in sigil, and open the file being referenced. Click the cursor around, until “line” and “column” match the validator’s “line” and “position.” THEN, look at the error itself. Just like drafting, or experimental science, doing reveals so much more than reading. When I look at an error code, I’m as baffled as anyone, but putting that error code in context often makes the answer easier. It’s basically saying, “I don’t like what you did right here, try something else.”

For me, it turned this:

Error while parsing file ‘element “p” not allowed here; expected the element end-tag, text or element “a”, “abbr”, “acronym”, “applet”, “b”, “bdo”, “big”, “br”, “cite”, “code”, “del”, “dfn”, “em”, “i”, “iframe”, “img”, “ins”, “kbd”, “map”, “noscript”, “ns:svg”, “object”, “q”, “samp”, “script”, “small”, “span”, “strong”, “sub”, “sup”, “tt” or “var” (with xmlns:ns=”http://www.w3.org/2000/svg”)’.

into this:

You can’t put a ‘<p>’ in the middle of your header tags, jackass!

Then I searched google for some line break code for about five seconds. Then I simply went back, erased the line-break. Used Shift-Enter to break the line in regular view, and went back to code view to see what Sigil did. It put in the ‘<br/>’ tag, and that one passed the checker. Magic.

Just go, line by line, down the error code. Many, many times, you are going to find that the same error is repeated over and over throughout the book, and correct a bunch of them at once. In the above case, this error showed up once at the start of each chapter. It took me less than a minute to fix all of them, and that was half of my list.

Don’t be scared of the code. This is the secret sauce. It’s just like sitting down in front of a blank page. Once you start tinkering, you’ll find that you can do it, and you don’t have to be a techie to make it happen. You don’t even have to understand the error. Just go to the exact spot where the problem is, and find the bit of code that it doesn’t like.

I guess I should add that most tags have a start and stop, so if you take out one, be on the lookout for the same tag with a forward slash (/) in it. Think of tags as fancy parenthesis. If you open one, you have to close it too, though there are a couple exceptions, which you will notice. Go slow, save often, and get your ebook into the premium catalog on SmashWords in no time 😛

Have a great day! And if you think this is good advice, you’ll love my motivational guide Finish The Damn Book! which releases Apr. 28th, 2017.

Share me

Author: spottedgeckgo

Writer. Making my living on my pen, and working to turn a raw chunk of land into a future homestead.

I love comments, feel free to leave one :)