<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
	<title>Damian Connolly | damianconnolly.com</title>
	<description>Damian Connolly is an author currently living in Bordeaux, France. He writes fantasy fiction mostly</description>
	<link>https://damianconnolly.com/</link>
	<atom:link href="https://damianconnolly.com/feed.xml" rel="self" type="application/rss+xml" />
	
		<item>
		<title>The Billionaire's Graveyard</title>
		<description>&lt;div class=&quot;flex-container&quot;&gt;
    &lt;div class=&quot;flex-cell&quot;&gt;
        &lt;h2 class=&quot;flex-header&quot;&gt;A fast-paced, edge-of-your-seat thriller novella!&lt;/h2&gt;
        &lt;p&gt;For billionaire CEO James Byron, life has lost its lustre. Gone are the cut-throat days of old, and he yearns to relive past glory. Then he receives a letter promising just that. An invitation to the most exclusive island in the world, it's a once-in-a-lifetime opportunity...that could cost his life.&lt;/p&gt;
        &lt;p&gt;The Billionaire's Graveyard awaits.&lt;/p&gt;
        &lt;a href=&quot;http://getbook.at/tbg&quot; title=&quot;Get The Billionaire's Graveyard on Amazon&quot; class=&quot;amazon-btn&quot;&gt;Buy now on &lt;img src=&quot;https://damianconnolly.com/img/amazon.png&quot; alt=&quot;Amazon&quot; width=&quot;102&quot; height=&quot;32&quot; class=&quot;btn-image&quot; /&gt;&lt;/a&gt;
    &lt;/div&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/billionaires_graveyard/two_kindles.jpg&quot; alt=&quot;The Billionaire's Graveyard - available on Kindle&quot; width=&quot;500&quot; height=&quot;440&quot; class=&quot;flex-image&quot; /&gt;
&lt;/div&gt;

&lt;div class=&quot;blurb&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/img/generic_reader.jpg&quot; alt=&quot;Page Morgan&quot; width=&quot;75&quot; height=&quot;75&quot; /&gt;
    &lt;p class=&quot;blurb-text&quot;&gt;&amp;ldquo;Connolly's writing style makes you believe you are in the hot humid jungle running for your life along with the main character in the story. I enjoyed it immensely. Go out and buy it today.&amp;rdquo; &lt;span class=&quot;handle&quot;&gt;Kindle Customer, Amazon&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;div class=&quot;book-description&quot;&gt;
    &lt;p&gt;&lt;strong&gt;A once-in-a-lifetime opportunity...that could cost his life.&lt;/strong&gt;&lt;/p&gt;
    &lt;p&gt;As a billionaire CEO of one of the world's largest companies, James Byron has it all. &lt;em&gt;Except a purpose&lt;/em&gt;. His best days are behind him and he's itching for anything to help him relive past glory.&lt;/p&gt;
    &lt;p&gt;Then he receives a letter promising just that. In the middle of the Pacific Ocean lies an island where &lt;strong&gt;dinosaurs roam once more&lt;/strong&gt;. For those that dare, these prehistoric predators are ripe for being hunted...provided he can stay alive.&lt;/p&gt;
    &lt;p&gt;The price is steep, for there's more than money involved. Nicknamed &lt;strong&gt;The Billionaire's Graveyard&lt;/strong&gt;, most who go never make it back. It could be the thrill he's looking for...or the last thing he ever does.&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;The Billionaire's Graveyard is a thriller novella set in the late 21st century. If you like fast-paced action, edge-of-your-seat tension, and complex characters, you'll love this. Ideal for fans of Michael Crichton's Jurassic Park dinosaur thrillers.&lt;/strong&gt;&lt;/p&gt;
    &lt;p&gt;Get The Billionaire's Graveyard to see who's hunting whom...&lt;/p&gt;
&lt;/div&gt;




&lt;div class=&quot;flex-container content-upgrade raised-corners&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/billionaires_graveyard/oasis_cover_angle.jpg&quot; alt=&quot;Shepherds: Awakening - available on Kindle and paperback&quot; width=&quot;300&quot; height=&quot;258&quot; class=&quot;flex-image&quot; /&gt;
    &lt;div class=&quot;flex-cell&quot;&gt;
        &lt;h2 class=&quot;flex-header&quot;&gt;Want to be the first to hear about new releases?&lt;/h2&gt;
        &lt;p class=&quot;content-upgrade-body&quot;&gt;Insiders get the latest new, excerpts, books, and stories delivered right to their inbox&lt;/p&gt;


&lt;a href=&quot;#&quot; onclick=&quot;javascript:modalCheckForBonusOrOpen( event, 'modal-signup' )&quot;  class=&quot;form-button&quot;&gt;Sign me up!&lt;/a&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;blurb&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/billionaires_graveyard/blurbs/suewrite.jpg&quot; alt=&quot;Suewrite&quot; width=&quot;75&quot; height=&quot;75&quot; /&gt;
    &lt;p class=&quot;blurb-text&quot;&gt;&amp;ldquo;The Billionaire’s Graveyard by Damian Connolly was an intriguing read, reminiscent of The Most Dangerous Game by Richard Connell -- with a whole lot of Jurassic Park mixed in.&lt;br&gt;A bored billionaire chooses to pay a fortune for the privilege of hunting dinosaurs. What he doesn’t know (or does he?) is that there is more going on with this situation than a fair man-against-dinosaur hunt.&lt;br&gt;Connolly describes his main character, James Byron, thoroughly and maintains suspense throughout the story. The setting was believable and the story never slowed down. I read it easily in one sitting, wondering all the way whether James would survive.&amp;rdquo; &lt;span class=&quot;handle&quot;&gt;&lt;a href=&quot;https://www.facebook.com/susanmcdonoughauthor/&quot;&gt;Suewrite&lt;/a&gt;, Amazon&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;





&lt;div class=&quot;author-block&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/author/headshot-circle.png&quot; alt=&quot;Damian Connolly&quot; width=&quot;250&quot; height=&quot;250&quot; class=&quot;author-block-image&quot; /&gt;
    &lt;p&gt;Damian is a Science-Fiction and Fantasy author born in Ireland, but currently living in Bordeaux, France, where it's decidedly warmer.&lt;/p&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/billionaires_graveyard/two_kindles_bw.jpg&quot; alt=&quot;The Billionaire's Graveyard - available on Kindle&quot; width=&quot;200&quot; height=&quot;230&quot; class=&quot;float-right&quot; /&gt;
    &lt;p&gt;His debut novel, &lt;a href=&quot;/books/shepherds_awakening/&quot;&gt;Shepherds: Awakening&lt;/a&gt;, has won multiple awards, including the 2016 Lyra Fantasy Award. You can find &lt;a href=&quot;/books/&quot;&gt;all his books here&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;When he's not writing, he also makes video games. Like, the &lt;em&gt;best&lt;/em&gt; ones.&lt;/p&gt;
    &lt;p&gt;When he's not doing &lt;em&gt;that&lt;/em&gt;, he's on one side project or the other, which generally results in not enough sleep.&lt;/p&gt;
    &lt;p&gt;He loves hearing from people. Like what he writes? Get in touch. Hate what he does? Definitely get in touch. No idea who he is? Find out, and get in touch. Outside of &lt;a href=&quot;#&quot; class=&quot;contact-link&quot;&gt;email&lt;/a&gt;, you can find him on &lt;a href=&quot;https://twitter.com/divillysausages&quot;&gt;Twitter&lt;/a&gt;, or on &lt;a href=&quot;https://www.facebook.com/DamianConnollyAuthor/&quot;&gt;Facebook&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;


&lt;div class=&quot;flex-review-container&quot;&gt;
    &lt;div class=&quot;flex-review&quot;&gt;
        &lt;img src=&quot;https://damianconnolly.com/files/billionaires_graveyard/blurbs/aine_a.jpg&quot; alt=&quot;Aine A&quot; width=&quot;75&quot; height=&quot;75&quot; class=&quot;flex-review-author-img&quot; /&gt;
        &lt;p class=&quot;blurb-author&quot;&gt;Aine A&lt;/p&gt;
        &lt;img src=&quot;https://damianconnolly.com/img/5stars.png&quot; alt=&quot;5 stars&quot; width=&quot;80&quot; height=&quot;14&quot; class=&quot;image-rating&quot; /&gt;
        &lt;p class=&quot;blurb-text&quot;&gt;&amp;ldquo;A compelling and thrilling read start to finish! Read this on my daily commute to work and it was the perfect piece of escapism.&amp;rdquo;&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class=&quot;flex-review&quot;&gt;
        &lt;img src=&quot;https://damianconnolly.com/img/generic_reader.jpg&quot; alt=&quot;Amazon Customer&quot; width=&quot;75&quot; height=&quot;75&quot; class=&quot;flex-review-author-img&quot; /&gt;
        &lt;p class=&quot;blurb-author&quot;&gt;Amazon Customer&lt;/p&gt;
        &lt;img src=&quot;https://damianconnolly.com/img/5stars.png&quot; alt=&quot;5 stars&quot; width=&quot;80&quot; height=&quot;14&quot; class=&quot;image-rating&quot; /&gt;
        &lt;p class=&quot;blurb-text&quot;&gt;&amp;ldquo;I loved this book. The story is exciting, and full of suspense. After not having read a novel in over 10 years, I could not put this one down&amp;rdquo;&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class=&quot;flex-review&quot;&gt;
        &lt;img src=&quot;https://damianconnolly.com/files/billionaires_graveyard/blurbs/shaun_green.jpg&quot; alt=&quot;Shaun Green&quot; width=&quot;75&quot; height=&quot;75&quot; class=&quot;flex-review-author-img&quot; /&gt;
        &lt;p class=&quot;blurb-author&quot;&gt;Shaun Green&lt;/p&gt;
        &lt;img src=&quot;https://damianconnolly.com/img/5stars.png&quot; alt=&quot;5 stars&quot; width=&quot;80&quot; height=&quot;14&quot; class=&quot;image-rating&quot; /&gt;
        &lt;p class=&quot;blurb-text&quot;&gt;&amp;ldquo;A great short story, which pulls in lots threads to weave this Jurassic style adventure.&amp;rdquo;&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;flex-container final-call-to-action raised-corners&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/billionaires_graveyard/wordcloud.jpg&quot; alt=&quot;The Billionaire's Graveyard review wordcloud&quot; width=&quot;446&quot; height=&quot;430&quot; class=&quot;flex-image&quot; /&gt;
    &lt;div class=&quot;flex-cell&quot;&gt;
        &lt;img src=&quot;https://damianconnolly.com/files/billionaires_graveyard/oasis_text.jpg&quot; alt=&quot;The Billionaire's Graveyard - available on Kindle&quot; width=&quot;250&quot; height=&quot;225&quot; /&gt;
        &lt;a href=&quot;http://getbook.at/tbg&quot; title=&quot;Get The Billionaire's Graveyard on Amazon&quot; class=&quot;amazon-btn&quot;&gt;Buy now on &lt;img src=&quot;https://damianconnolly.com/img/amazon.png&quot; alt=&quot;Amazon&quot; width=&quot;102&quot; height=&quot;32&quot; class=&quot;btn-image&quot; /&gt;&lt;/a&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;div class=&quot;share-box&quot;&gt;
    &lt;h3 id=&quot;share&quot;&gt;Share this&lt;/h3&gt;
    &lt;a href=&quot;https://twitter.com/intent/tweet?hashtags=BillionairesGraveyard&amp;original_referer=https%3A%2F%2Fdamianconnolly.com%2Fbooks%2Fthe_billionaires_graveyard%2F&amp;text=Check+out+this+book%2C+The+Billionaire's+Graveyard!&amp;url=https%3A%2F%2Fdamianconnolly.com%2Fbooks%2Fthe_billionaires_graveyard%2F&amp;via=divillysausages&quot; class=&quot;twitter-share-btn&quot; title=&quot;Tweet on Twitter&quot; target=&quot;_blank&quot;&gt;Tweet&lt;/a&gt;
    &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdamianconnolly.com%2Fbooks%2Fthe_billionaires_graveyard%2F&quot; class=&quot;fb-share-btn&quot; title=&quot;Share on Facebook&quot; target=&quot;_blank&quot;&gt;Share&lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/billionaires_graveyard/devices.jpg&quot; alt=&quot;The Billionaire's Graveyard - available on all digital devices via the Kindle app&quot; width=&quot;640&quot; height=&quot;336&quot; /&gt;&lt;/p&gt;
&lt;div class=&quot;modal hidden&quot; id=&quot;modal-signup&quot;&gt;
    &lt;div class=&quot;modal-content&quot;&gt;
        &lt;a href=&quot;#&quot; onclick=&quot;javascript:modalClose(event)&quot; title=&quot;close&quot; class=&quot;modal-close&quot;&gt;&lt;img src=&quot;https://damianconnolly.com/img/close.png&quot; alt=&quot;Close&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;/a&gt;
        &lt;h3&gt;Become an Insider&lt;/h3&gt;


&lt;p class=&quot;signup-blurb&quot;&gt;Get news, free stories, and free books delivered direct to your inbox&lt;/p&gt;
&lt;form action=&quot;//damianconnolly.us3.list-manage.com/subscribe/post?u=9817bafb87077bb7e9f622d09&amp;amp;id=4a42a29376&quot; method=&quot;post&quot; class=&quot;flex-form&quot; onsubmit=&quot;signupOnSubmit(event)&quot;&gt;
    &lt;div class=&quot;required&quot;&gt;&lt;span class=&quot;asterisk&quot;&gt;*&lt;/span&gt; indicates required&lt;/div&gt;
    &lt;input type=&quot;text&quot; name=&quot;FNAME&quot; placeholder=&quot;First name *&quot; required&gt;
    &lt;input type=&quot;email&quot; name=&quot;EMAIL&quot; placeholder=&quot;Email *&quot; required&gt;
    &lt;div class=&quot;form-hidden&quot; aria-hidden=&quot;true&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;BOOK&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;SOURCE&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;GENRE&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;b_9817bafb87077bb7e9f622d09_4a42a29376&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
    &lt;/div&gt;
    &lt;div class=&quot;signup-form-pending hidden&quot;&gt;
        &lt;p&gt;It looks like you've previously signed up, but haven't confirmed your email. If you haven't received an email yet, please check your &lt;strong&gt;Social/Promotions&lt;/strong&gt; or &lt;strong&gt;Spam&lt;/strong&gt; folders.&lt;/p&gt;
    &lt;/div&gt;
    &lt;button type=&quot;submit&quot; name=&quot;subscribe&quot; class=&quot;form-button&quot;&gt;Get your FREE bonus!&lt;/button&gt;
&lt;/form&gt;
&lt;p class=&quot;signup-blurb note&quot;&gt;I hate spam as much as you do; your email will &lt;strong&gt;never&lt;/strong&gt; be sold or shared&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;</description>
		<pubDate>Sun, 05 Nov 2017 23:40:00 +0100</pubDate>
		<link>https://damianconnolly.com/books/the_billionaires_graveyard/</link>
		<guid isPermaLink="true">https://damianconnolly.com/books/the_billionaires_graveyard/</guid>
		</item>
	
		<item>
		<title>Adventures in marketing: Are Facebook groups worth it?</title>
		<description>&lt;p&gt;When it comes to marketing your book, there's a lot of different advice out there and it can be hard to separate the wheat from the chaff. Unless you're a full-time author, there's only so many hours in the day to balance writing, editing, publishing, and marketing. It helps to know if what you're doing has tangible results that make it worth your time.&lt;/p&gt;
&lt;p&gt;In terms of marketing, everything you do is going to be broken down into two categories:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Paid, for those with money but no time - ideal for seeing results fast&lt;/li&gt;
&lt;li&gt;Free, for those with time but no money - ideal if you don't mind doing the grunt work&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A free tactic often touted is to post your book into as many Facebook groups as you can - free advertising right?&lt;/p&gt;
&lt;p&gt;Being somewhat skeptical, I wanted a definite answer - nothing but cold, hard numbers.&lt;/p&gt;
&lt;h2 id=&quot;what-we-re-trying-to-answer&quot;&gt;What we're trying to answer&lt;/h2&gt;
&lt;p&gt;Before doing something like this, you need to be crystal clear on what you're trying to get out of it, and make sure you're only testing that. For this one, it's simple:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Is posting my book to Facebook groups worth my time, both for free and paid?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2017/fb-groups/fb-groups.jpg&quot; alt=&quot;Is posting your book to Facebook groups worth your time&quot; width=&quot;900&quot; height=&quot;473&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;the-setup&quot;&gt;The setup&lt;/h2&gt;
&lt;p&gt;First up, choose the book that's going to act as your guinea pig. I'm using my book &lt;a href=&quot;http://getbook.at/shepherds&quot;&gt;Shepherds: Awakening&lt;/a&gt; for this. Sales have died down enough to the point where I can directly say doing X resulted in Y copies. This is important because, as Amazon doesn't provide any analytics where you can attribute clicks, you want to eliminate as much guesswork as possible.&lt;/p&gt;
&lt;p&gt;Everything I'm about to describe is laid out in &lt;a href=&quot;https://docs.google.com/spreadsheets/d/14-ZOy0dFwCGKEMVSflKsYZyaDVFicaF2y3kAtkT4zDc/edit?usp=sharing&quot;&gt;a pretty detailed spreadsheet&lt;/a&gt; that you can check out to see the nitty gritty. There'll also be &lt;a href=&quot;#lemme-at-it&quot;&gt;support files&lt;/a&gt; at the end of the post.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.google.com/spreadsheets/d/14-ZOy0dFwCGKEMVSflKsYZyaDVFicaF2y3kAtkT4zDc/edit?usp=sharing&quot;&gt;&lt;img src=&quot;https://damianconnolly.com/files/2017/fb-groups/spreadsheet.jpg&quot; alt=&quot;The spreadsheet for this test&quot; width=&quot;900&quot; height=&quot;324&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Before doing this, you first have to join as many Facebook groups as you want. Give yourself some time to do this, as while some groups are open, others can take a long time to accept your request, if ever.&lt;/p&gt;
&lt;p&gt;In order to test both free and paid, you'll also need to be in KDP with enough free promo days left over. How many free days you want to give up will depend on how many groups you're comfortable with posting in. It's a balance between getting a good enough spread vs being able to say which groups are more effective than others. If you post to all your groups in the same day, while you'll know the number of clicks, you won't know which one is responible for the buyers.&lt;/p&gt;
&lt;p&gt;If you want to test this out yourself, then make a copy of the spritesheet and fill in your data.&lt;/p&gt;
&lt;p&gt;Final point: give a quick heads-up to whoever you think might be share one of your posts, to not do that. Some of your friends and family might see what you're doing and want to help you along. While it's genuinely great, it can also mess with your results (are the clicks attributed to group X coming from that group, or because the same link was shared by your family?).&lt;/p&gt;
&lt;h2 id=&quot;how-the-test-is-going-to-work&quot;&gt;How the test is going to work&lt;/h2&gt;
&lt;p&gt;In each group, you're going to post the exact same image and sales pitch, like below:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2017/fb-groups/promoImage.jpg&quot; alt=&quot;The promo images used for the free and paid posting&quot; width=&quot;900&quot; height=&quot;942&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The top pic was posted when testing paid promos, while the bottom pic was for the free days. Only the pricing info changed. To try and persuade the most people possible, the image was designed to be colourful, show off the rating, the type of book it is, the awards it's won, and some snippets from reviews.&lt;/p&gt;
&lt;p&gt;For the blurb, I used the following text:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;FREE today! - %URL%

== A multi-award winning novel, Awakening &lt;span class=&quot;hljs-keyword&quot;&gt;is&lt;/span&gt; a supernatural coming-&lt;span class=&quot;hljs-keyword&quot;&gt;of&lt;/span&gt;-age fantasy &lt;span class=&quot;hljs-keyword&quot;&gt;for&lt;/span&gt; readers who liked Philip Pullman&lt;span class=&quot;hljs-symbol&quot;&gt;'s&lt;/span&gt; His Dark Materials, &lt;span class=&quot;hljs-keyword&quot;&gt;or&lt;/span&gt; Neil Gaiman. ==

Aisling has always lived &lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt; her head, wishing &lt;span class=&quot;hljs-keyword&quot;&gt;for&lt;/span&gt; something more. Something *better*. But &lt;span class=&quot;hljs-keyword&quot;&gt;when&lt;/span&gt; she finds herself fleeing &lt;span class=&quot;hljs-keyword&quot;&gt;for&lt;/span&gt; her life &lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt; a world where reality seems flexible, it isn&lt;span class=&quot;hljs-symbol&quot;&gt;'t&lt;/span&gt; exactly what she had &lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt; mind.

&lt;span class=&quot;hljs-keyword&quot;&gt;When&lt;/span&gt; her absentee father shows up there, she soon starts questioning her very sanity. But he explains it &lt;span class=&quot;hljs-keyword&quot;&gt;all&lt;/span&gt;. Who they are, where they are, &lt;span class=&quot;hljs-keyword&quot;&gt;and&lt;/span&gt; what the deal &lt;span class=&quot;hljs-keyword&quot;&gt;is&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;all&lt;/span&gt; the dead people.

&lt;span class=&quot;hljs-keyword&quot;&gt;And&lt;/span&gt; what&lt;span class=&quot;hljs-symbol&quot;&gt;'s&lt;/span&gt; trying &lt;span class=&quot;hljs-keyword&quot;&gt;to&lt;/span&gt; *eat* them.

She has a name &lt;span class=&quot;hljs-keyword&quot;&gt;to&lt;/span&gt; live up &lt;span class=&quot;hljs-keyword&quot;&gt;to&lt;/span&gt;. &lt;span class=&quot;hljs-keyword&quot;&gt;If&lt;/span&gt; she accepts, it&lt;span class=&quot;hljs-symbol&quot;&gt;'ll&lt;/span&gt; break her, &lt;span class=&quot;hljs-keyword&quot;&gt;and&lt;/span&gt; she&lt;span class=&quot;hljs-symbol&quot;&gt;'ll&lt;/span&gt; have &lt;span class=&quot;hljs-keyword&quot;&gt;to&lt;/span&gt; sacrifice everything. &lt;span class=&quot;hljs-keyword&quot;&gt;In&lt;/span&gt; the &lt;span class=&quot;hljs-keyword&quot;&gt;end&lt;/span&gt;, there needs &lt;span class=&quot;hljs-keyword&quot;&gt;to&lt;/span&gt; be a Shepherd.

&lt;span class=&quot;hljs-keyword&quot;&gt;All&lt;/span&gt; she has &lt;span class=&quot;hljs-keyword&quot;&gt;to&lt;/span&gt; do &lt;span class=&quot;hljs-keyword&quot;&gt;is&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;open&lt;/span&gt; a door...

==&amp;gt; %URL% &amp;lt;==&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Again, the sales pitch should tell you exactly what the book is about, and assuage any doubts as to whether it's a &lt;em&gt;good&lt;/em&gt; book (&quot;A multi-award winning...&quot;). For the paid promo, the &quot;FREE today!&quot; was replaced with &quot;$0.99/FREE on Kindle Unlimited!&quot;&lt;/p&gt;
&lt;p&gt;So what are the &lt;code&gt;%URL%&lt;/code&gt; parts?&lt;/p&gt;
&lt;p&gt;This is where URL-shortening services, like &lt;a href=&quot;https://bitly.com/&quot;&gt;bit.ly&lt;/a&gt; come in. You take your universal book link (I'm using &lt;a href=&quot;http://booklinker.net/&quot;&gt;BookLinker&lt;/a&gt;) and append a unique param to the end of it. It can be whatever you want, you just need to be able to identify the Facebook group it belongs to.&lt;/p&gt;
&lt;p&gt;I used a truncated form of the group name, so the URL&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;&lt;span class=&quot;hljs-string&quot;&gt;http:&lt;/span&gt;&lt;span class=&quot;hljs-comment&quot;&gt;//getbook.at/shepherds&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;became&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;http://getbook.at/shepherds?&lt;span class=&quot;hljs-keyword&quot;&gt;ref&lt;/span&gt;=all-abo-boo&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;for the Facebook group &lt;em&gt;All About Books&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Bit.ly keeps stats on each click, as well as the country and referrer (in this case, the referrer will be entirely Facebook). You can probably get more detailed stats if you unlock the Enterprise edition of bit.ly, but the free version is good enough for our needs.&lt;/p&gt;
&lt;p&gt;So each group gets its own unique link, which is replaced in the &lt;code&gt;%URL%&lt;/code&gt; parts above.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Um, that seems like a lot of work.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Don't worry, &lt;a href=&quot;#lemme-at-it&quot;&gt;I've tools to automate all of this at the end of the post&lt;/a&gt;. Once you're set up, the actual posting only takes a few minutes.&lt;/p&gt;
&lt;p&gt;Then you just post to your groups at the same time each day. Technically you can post at different times in order to catch all the different timezones, but a lot of groups have rules like only being allowed to post once a day. I chose 9pm as I'm based in France. It gets all the evening folk in Europe, while it's midday in the States. Posting at the same time each day gives more consistent results and eliminates bias due to the time of the post.&lt;/p&gt;
&lt;p&gt;Once your posts are done, you just need to count up the clicks in bit.ly and the sales in KDP.&lt;/p&gt;
&lt;h2 id=&quot;a-word-on-facebook-groups&quot;&gt;A word on Facebook groups&lt;/h2&gt;
&lt;p&gt;You can join as many groups as you want for this. I personally wanted a good coverage, so I kept joining groups until I had a &lt;em&gt;potential&lt;/em&gt; exposure with 1m users.&lt;/p&gt;
&lt;p&gt;At the time of writing, I requested to join 80 groups and got accepted to 73 of them. 2 came after the test, so they didn't count.&lt;/p&gt;
&lt;p&gt;Even though there was a potential of over 1m sets of eyeballs, some people are obviously in more than one group, so after some playing around with the Facebook Graph API, I pulled the details (excuse the hideous chart).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2017/fb-groups/userChart.png&quot; alt=&quot;The percentage of users in different groups&quot; width=&quot;900&quot; height=&quot;500&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;While the graph doesn't show the exact numbers, of the over 1m combined users, only ~485k are unique, or about 46%&lt;/li&gt;
&lt;li&gt;Of those 485k, over 25% are in two groups&lt;/li&gt;
&lt;li&gt;Over 15% are in up to five groups&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;How you take this is debateable. On the one hand, your potential pool is diminished, while on the other, it's possible they'll see your post more than once and be more likely to click.&lt;/p&gt;
&lt;p&gt;Another thing you need to take into account is some of the members are authors themselves, there to post their own book, and who don't necessarily care about yours.&lt;/p&gt;
&lt;p&gt;In any case, in order to reach the most people possible, we need to diversify (dur).&lt;/p&gt;
&lt;h2 id=&quot;running-the-test&quot;&gt;Running the test&lt;/h2&gt;
&lt;p&gt;I ran the paid promo first. The only reason I did this was under the assumption of the same person seeing both, I ideally wanted them to buy the book rather than get it for free (Papa needs to get paid).&lt;/p&gt;
&lt;p&gt;Some of the groups won't be valid depending on what you're posting. For example, there's no point posting the paid promo in free-only groups. That's just a quick way to get your post deleted and banned from the group.&lt;/p&gt;
&lt;p&gt;For the paid promo, I posted in 54 groups for a potential coverage of ~820k users. For the free promo, it was 67 groups for a potential coverage of 1m+ users.&lt;/p&gt;
&lt;p&gt;Some groups use the Facebook feature for selling items, which is annoying, as you have to type more, while others have admins approve posts, so not everything you post is going to make it.&lt;/p&gt;
&lt;p&gt;Also, when posting, make sure to &lt;em&gt;attach the image first&lt;/em&gt;, rather than paste the sales text. Otherwise, Facebook will see the URL in the text, and try to load a preview of your book on Amazon rather than use your image.&lt;/p&gt;
&lt;p&gt;If you're using &lt;a href=&quot;#lemme-at-it&quot;&gt;the tools&lt;/a&gt; that come at the bottom of the page, you can simply click on the &lt;em&gt;Copy&lt;/em&gt; button to copy the right sales pitch and open the right group.&lt;/p&gt;
&lt;p&gt;In order to keep the results as clean as possible, the free and paid promos should ideally be posted on the same days, to eliminate any bias. In my case, I was doing on average around 20 posts a day, for 4 days, from Monday to Thursday.&lt;/p&gt;
&lt;p&gt;There have been stories of some users being banned for posting in too many groups at once. Personally, it didn't happen to me - perhaps because the URL was different so it didn't count as spam - but it's something to keep in mind.&lt;/p&gt;
&lt;h2 id=&quot;the-results&quot;&gt;The results&lt;/h2&gt;
&lt;p&gt;If you've gotten this far, congratulations! I probably could have put a TL;DR at the start of the post, but then all this lovely writing would have gone to waste.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Drum roll...&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;For the paid promo, I had...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;10 clicks, and 1 sale (woo).&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Lift that jaw back up off the floor.&lt;/p&gt;
&lt;p&gt;For the free promo, I had...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;84 clicks, and 42 sales.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Somewhat better but still pretty pathetic.&lt;/p&gt;
&lt;p&gt;I'm not actually that surprised. Posting to Facebook groups has always had a bit of a whiff of &quot;post your links as comments in as many blogs as you can find for easy SEO&quot; from back in the good ole days of the web.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Well that's just disappointing, Damian.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yes, and no. For &lt;em&gt;me&lt;/em&gt;, for &lt;em&gt;this book&lt;/em&gt;, it's next to worthless - well 42 copies is 42 copies, but if I posted this to my personal Page, or spent &euro;5 on Facebook ads, I'd probably beat that. I might run this experiment again for my next release, which is a novella in a different genre, to answer the question of if it's just because of the genre, but for the minute, doing this as a regular marketing exercise isn't worth my time.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;You&lt;/em&gt; might get much more use out of it, and if it's something that sounds interesting, stick around and I'll show off my tools for making stuff like this a breeze. It would be nice to have a broad range of data to work with.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;NOTE: As an aside; if you've ever bought any &quot;promotion&quot; service from Fiver or the like, which promise they'll expose your book to however many users, this is essentially what you're buying. The More You Know &amp;trade;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Also there are some big caveats to keep in mind (&lt;a href=&quot;#caveats&quot;&gt;see below&lt;/a&gt;).&lt;/p&gt;
&lt;h2 id=&quot;so-what-can-we-tease-out-from-this-&quot;&gt;So what can we tease out from this?&lt;/h2&gt;
&lt;p&gt;No experiment is a complete failure, as we always come out with more info than we went in - in this case I now &lt;em&gt;know&lt;/em&gt; rather than &lt;em&gt;guess&lt;/em&gt; my time would be better spent elsewhere.&lt;/p&gt;
&lt;p&gt;But what else can we figure out?&lt;/p&gt;
&lt;p&gt;Well for one thing, the ratio for number of users to post interaction is pretty damn low (again, &lt;a href=&quot;#caveats&quot;&gt;see the caveats&lt;/a&gt; section). However, there doesn't seem to be a relation between the &lt;em&gt;number&lt;/em&gt; of users in a group. As in, your post seems to have the same interaction irregardless of the number of people in the group. Though again, the results are so small it's hard to say definitively. You might have better luck posting in smaller groups with only a few hundred members rather than massive groups with thousands, where the post can quickly get buried.&lt;/p&gt;
&lt;p&gt;On the free day, I had 84 clicks, but only 42 downloads. This tells me:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There's something wrong on my Amazon page, such as a bad description, OR&lt;/li&gt;
&lt;li&gt;They were expecting something other than Amazon (e.g. Kobo)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The fact it's Amazon-only isn't specified in either the image or sales pitch (my bad), so it's hard to say which. As a free book, there should be no barrier to entry for actually downloading it. If they've clicked on it, that's a sign of interest. Not downloading it afterwards means something has stopped them - the book description might not have sold them, for example. It's something to work on.&lt;/p&gt;
&lt;p&gt;The vast majority of my clicks came from the US, which isn't terribly surprising, but it hints at a strong US showing in Facebook groups, or the post time (around midday) was good for them. Surprisingly the second highest after that was Spain, with Taiwan coming in fourth. Again the results are too small to draw any major conclusions, but it can show there's a possible market there.&lt;/p&gt;
&lt;h2 id=&quot;wait-does-this-mean-groups-are-useless-&quot;&gt;Wait, does this mean groups are useless?&lt;/h2&gt;
&lt;p&gt;Not necessarily. There is one method that could possibly pay dividends. I say &lt;em&gt;possibly&lt;/em&gt; as I can't be sure it was used, and it involves a Facebook Page rather than a group&lt;/p&gt;
&lt;p&gt;On a particular book on Amazon, there's this review:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2017/fb-groups/amazon-review.jpg&quot; alt=&quot;Review for The Gender Game&quot; width=&quot;900&quot; height=&quot;551&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In case you have trouble reading the image, it basically says they came to the Amazon page through a sponsored post in a Facebook Page, &lt;a href=&quot;https://www.facebook.com/Hunger-Games-Forever-1264811036873382/&quot;&gt;Hunger Games Forever&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.amazon.com/dp/B01I77SNR4&quot;&gt;The book in question&lt;/a&gt; is positioned as being for fans of The Hunger Games and Divergant and the like. It was published September 24th, 2016.&lt;/p&gt;
&lt;p&gt;From what I can tell, the Facebook Page was created on September 28th, 2016, had a slew of posts on that day, then posted sporadically, with the last one being January 24th, 2017 (the review was posted Jan 20th). At the time of writing the Page has 19,235 likes.&lt;/p&gt;
&lt;p&gt;So it &lt;em&gt;seems&lt;/em&gt; like this Page was set up specfically for this, which isn't a bad tactic (though a bit shady). If your book is targeted at a specific audience of another famous book, then you can set up a fan page for it, engage the audience, then post your book (&quot;Oh hey, I just found this...&quot;). There's an inherit trust there (hence the shady part), but you're posting to a very specific set of people that are right who you're looking for.&lt;/p&gt;
&lt;p&gt;Obviously you won't get everyone - see &lt;a href=&quot;#caveats&quot;&gt;Caveats&lt;/a&gt; below - but you can easily boost the post, as was the case here.&lt;/p&gt;
&lt;h2 id=&quot;caveats&quot;&gt;Caveats&lt;/h2&gt;
&lt;p&gt;As with anything, there are things to keep in mind in terms of the results.&lt;/p&gt;
&lt;p&gt;First and foremost is the actual &lt;em&gt;reach&lt;/em&gt; you can expect to have when posting to groups like this. This is called your &lt;em&gt;organic reach&lt;/em&gt; (as opposed to &lt;em&gt;paid reach&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;It's hard to find actual numbers. The best I could come up with was &lt;a href=&quot;https://locowise.com/blog/latest-facebook-news-feed-algorithm-changes-plus-growth-and-engagement-stats-for-may-2017&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://blog.hubspot.com/marketing/facebook-declining-organic-reach&quot;&gt;here&lt;/a&gt; which estimate &lt;em&gt;Page&lt;/em&gt; reach at anywhere between 2% and 10%. They're mostly talking about a Page you run, like your author Page, rather than Pages you post on, but you get the idea. &lt;/p&gt;
&lt;p&gt;Again, there's no real way aside from being the group admin to see what the actual value is, but you can be sure Facebook isn't showing every post in a group to every person in the group. &lt;a href=&quot;https://www.facebook.com/business/news/Organic-Reach-on-Facebook&quot;&gt;This post&lt;/a&gt; by Facebook from 2014 explains that on any given time, there are about 1,500+ pieces of content vying for any particular user's attention, of which 300 are shown in the News feed. If a user is active in a group, then they can expect to get notifications when someone posts something, but otherwise, they'd need to visit the group, or you need to be lucky.&lt;/p&gt;
&lt;p&gt;Similar to this are the sheer number of posts some groups get. Large groups can easily get a flood of continuous content that'll quickly bury your own.&lt;/p&gt;
&lt;p&gt;On top of &lt;em&gt;that&lt;/em&gt; is the quality of the books being posted. There are exceptions of course, and I don't want to call out any particular author, but there are &lt;em&gt;a lot&lt;/em&gt; of low quality/erotic books being posted. That's not to say there isn't an audience for those books, or that there's anything wrong with erotica, but you will be getting judged by proxy.&lt;/p&gt;
&lt;p&gt;For the results themselves, on the paid promo, my girlfriend actually reposted one of the links (hence my warning in the &lt;em&gt;setup&lt;/em&gt; section!), which, depending on the timezone Amazon reports in, could account for the solitary sale (I know, right?).&lt;/p&gt;
&lt;p&gt;For the free promo, again, one of the posts was re-posted in a book group I'm part of, which could also account for anywhere up to 5 clicks.&lt;/p&gt;
&lt;p&gt;I also didn't post in every group for both promos. I stayed away from review-only groups, those that disallow URL-shorteners in their rules, and free-only groups for the paid promo.&lt;/p&gt;
&lt;p&gt;Some groups also don't allow posts until they've been approved by the admin.&lt;/p&gt;
&lt;p&gt;During the free promo, I didn't do any other promotion of the book, but I can't discount any &lt;em&gt;normal&lt;/em&gt; purchases from people seeing it in the Amazon charts, in which case the click-to-download ratio is even worse.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;But Damian, maybe your promo image/text just sucked.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;That's possible. But at least it sucked &lt;em&gt;relatively&lt;/em&gt; for both promos. Technically, you could test this out different variations for the paid promo every day, but you'll get much faster results going through Facebook ads and using their in-built A/B testing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;But Damian, maybe your &lt;em&gt;cover&lt;/em&gt; sucks.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Also possible, it's something to test.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;But Damian, maybe your &lt;em&gt;description&lt;/em&gt; sucks.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Again something I'll probably test if I have time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;But Damian, maybe your &lt;em&gt;book&lt;/em&gt; sucks.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Okay, okay, I get it! But it's not a bad point actually. Ideally you'd run this test for a variety of genres in order to rule out bias. Which is where you come in.&lt;/p&gt;
&lt;h2 id=&quot;lemme-at-it&quot;&gt;Lemme at it&lt;/h2&gt;
&lt;p&gt;If you want to try this yourself, then excellent! Just below this you'll see the support files for this post. It contains two HTML files that will let you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Generate the unique param for each Facebook group you're in, as well as the short link you're going to share&lt;/li&gt;
&lt;li&gt;Allow you to write the sales pitch you're going to use, and with the click of a button, replace the URL, copy the text, and open the right Facebook group to post in&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All told, posting will only take a few minutes. Then you simply count up the results and if you want, &lt;a href=&quot;#&quot; class=&quot;contact-link&quot;&gt;share them with me&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Inside the zip, you'll find a README laying out all the steps you need to take to get started.&lt;/p&gt;
&lt;p&gt;Good luck!&lt;/p&gt;
&lt;div class=&quot;share-box&quot;&gt;
    &lt;h3 id=&quot;share&quot;&gt;Share this&lt;/h3&gt;
    &lt;a href=&quot;https://twitter.com/intent/tweet?hashtags=writing,marketing,OSFARG&amp;original_referer=https%3A%2F%2Fdamianconnolly.com%2F2017%2F07%2F13%2Fadventures-in-marketing-facebook-groups%2F&amp;text=Is+it+worth+your+time+posting+your+%23book+in+%23Facebook+groups%3F&amp;url=https%3A%2F%2Fdamianconnolly.com%2F2017%2F07%2F13%2Fadventures-in-marketing-facebook-groups%2F&amp;via=divillysausages&quot; class=&quot;twitter-share-btn&quot; title=&quot;Tweet on Twitter&quot; target=&quot;_blank&quot;&gt;Tweet&lt;/a&gt;
    &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdamianconnolly.com%2F2017%2F07%2F13%2Fadventures-in-marketing-facebook-groups%2F&quot; class=&quot;fb-share-btn&quot; title=&quot;Share on Facebook&quot; target=&quot;_blank&quot;&gt;Share&lt;/a&gt;
&lt;/div&gt;


&lt;div class=&quot;flex-container content-upgrade raised-corners&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/2017/fb-groups/content-upgrade.jpg&quot; alt=&quot;Get all the code to make this work&quot; class=&quot;flex-image&quot; /&gt;
    &lt;div class=&quot;flex-cell&quot;&gt;
        &lt;h2 class=&quot;flex-header&quot;&gt;Get all the code necessary to make this work&lt;/h2&gt;
        &lt;p class=&quot;content-upgrade-body&quot;&gt;Download the tools to make posting to Facebook groups a cinch&lt;/p&gt;
        &lt;a href=&quot;https://damianconnolly.com/files/2017/fb-groups/fb-groups.zip&quot; class=&quot;form-button&quot;&gt;Download&lt;/a&gt;
    &lt;/div&gt;
&lt;/div&gt;</description>
		<pubDate>Thu, 13 Jul 2017 01:54:00 +0200</pubDate>
		<link>https://damianconnolly.com/2017/07/13/adventures-in-marketing-facebook-groups/</link>
		<guid isPermaLink="true">https://damianconnolly.com/2017/07/13/adventures-in-marketing-facebook-groups/</guid>
		</item>
	
		<item>
		<title>Shepherds update and awards news</title>
		<description>&lt;p&gt;Hey there! Remember me?&lt;/p&gt;
&lt;p&gt;The sites gone a little dark since the last post, where I released the &lt;a href=&quot;https://damianconnolly.com/2016/12/31/shepherds-origins-excerpt/&quot;&gt;first chapter of Shepherds: Origins&lt;/a&gt; and that's 100% on me.&lt;/p&gt;
&lt;p&gt;Despite appearances, there's been quite a lot of things happening in the background that I never got around to posting about properly, but now my schedule has somewhat freed up, it's time to do a massive catchup post!&lt;/p&gt;
&lt;p&gt;First up:&lt;/p&gt;
&lt;h2 id=&quot;shepherds-origins&quot;&gt;Shepherds: Origins&lt;/h2&gt;
&lt;p&gt;One of the main reasons why nothing's been posted in a long time is that I've been busy wrapping up the first draft of Shepherds: Origins. I can only do one thing at a time, so while my &lt;em&gt;Things I'd Like To Do&lt;/em&gt; list has been steadily growing over the last few months, all of my free time has been taken up with this beast.&lt;/p&gt;
&lt;p&gt;And I can happily say that I've (finally) finished the first draft!&lt;/p&gt;
&lt;p&gt;As it stands it's over &lt;em&gt;84,000&lt;/em&gt; words, or about twice as long as the first book. This one was a lot harder to write than the first one was. I'm not sure if that's normal for a second book, or if it's just because it was longer, but I learned a hell of a lot.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Origins&lt;/em&gt; is a prequel set a &lt;em&gt;long&lt;/em&gt; time before &lt;em&gt;Awakenings&lt;/em&gt; and tells the story of Limbo when it was much younger and how Shades came to be. &lt;a href=&quot;https://damianconnolly.com/2016/12/31/shepherds-origins-excerpt/&quot;&gt;You can read the first chapter here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I also need to take a moment to shout out to my writing partner, Melissa, who's another author here in Bordeaux. We teamed up at the start of the project to keep each other on track, and to have someone to bounce ideas off of/burst through roadblocks. She's been great and helped kick my ass back in gear when I got stuck on the last chapter for weeks. Hopefully she'll let me share what she's been working on when she's ready to release it.&lt;/p&gt;
&lt;p&gt;So what's next for the book?&lt;/p&gt;
&lt;p&gt;Basically I'm going to let it sit for a few weeks while I work on some other stuff (more on that later). By that time, hopefully I'll be able to read through it with reasonably fresh eyes and rip it to pieces, so I can fix the parts that inevitably don't make sense, flesh out areas that need more detail, and generally make sure I've spelling my character's name properly throughout the book (ahem).&lt;/p&gt;
&lt;p&gt;After a few rounds of that, it'll go off to an editor, who'll do the whole thing again, though this time properly. At the end, I should have something worth reading.&lt;/p&gt;
&lt;p&gt;After &lt;em&gt;all that's&lt;/em&gt; done, I'll start all the pre-launch work and getting all the dominoes in a row before hitting them a kick to get things rolling.&lt;/p&gt;
&lt;p&gt;If you'd like to be part of the launch team, or be the first to get your hands on the book, make sure you're subscribed to the email list. There'll also be some goodies coming for subscribers around launch time.&lt;/p&gt;
&lt;div class=&quot;flex-container content-upgrade raised-corners&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/cover_flat_angle_small.jpg&quot; alt=&quot;Shepherds: Awakening - available on Kindle and paperback&quot; width=&quot;300&quot; height=&quot;207&quot; class=&quot;flex-image&quot; /&gt;
    &lt;div class=&quot;flex-cell&quot;&gt;
        &lt;h2 class=&quot;flex-header&quot;&gt;Insiders&lt;/h2&gt;
        &lt;p class=&quot;content-upgrade-body&quot;&gt;Insiders are the first to get notified when &lt;em&gt;Shepherds: Origins&lt;/em&gt; releases. As an added bonus, if you haven't read &lt;em&gt;Shepherds: Awakening&lt;/em&gt;, you'll get the first 4 chapters for FREE!&lt;/p&gt;


&lt;a href=&quot;#&quot; onclick=&quot;javascript:modalCheckForBonusOrOpen( event, 'modal-signup' )&quot;  class=&quot;form-button&quot;&gt;I'm in!&lt;/a&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&quot;shepherds-awakening&quot;&gt;Shepherds: Awakening&lt;/h2&gt;
&lt;p&gt;Despite completely neglecting my first book for the last few months, &lt;a href=&quot;https://damianconnolly.com/books/shepherds_awakening/&quot;&gt;Shepherds: Awakening&lt;/a&gt; has been chugging away and has gone on to win some awards!&lt;/p&gt;
&lt;p&gt;It won a 5 Star award for Readers' Favorite, the Official Selection in the Fantasy Category for the New Apple awards, and the Fantasy category in the Lyra awards!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/awards.jpg&quot; alt=&quot;Shepherds: Awakening - awards won&quot; width=&quot;900&quot; height=&quot;473&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This officially makes the book and Award-winning novel&amp;trade;. Not bad for a first effort, and I'm obviously pretty chuffed about it.&lt;/p&gt;
&lt;p&gt;While &lt;em&gt;Origins&lt;/em&gt; is going through the editing rounds, I'll be stepping up the marketing on &lt;em&gt;Awakening&lt;/em&gt;. Marketing is one of those massive subjects that I need to get stuck into. There's so much info out there and so many different tests to do that it's a little daunting, but I've been itching to get at it for ages now.&lt;/p&gt;
&lt;p&gt;Like it or not, marketing is vitally important in allowing your book to reach its full potential and making sure that it doesn't get buried amongst the millions of other books clamouring for attention. I did the bare minimum for &lt;em&gt;Awakening&lt;/em&gt; when it came out, and it's probably the area that I need to improve the most on. I'm one of those people that hate talking about myself, or asking people for things, so it's time to step outside of the comfort zone.&lt;/p&gt;
&lt;h2 id=&quot;what-s-next&quot;&gt;What's next&lt;/h2&gt;
&lt;p&gt;Over the weeks to come, while I try to forget my own book, I'll also be getting into to some short stories. I have a big file with all my ideas and it's time to start scratching a few off the list. First up is a short due for the end of May. It's a tight schedule, but it should be fun.&lt;/p&gt;
&lt;p&gt;I'll be releasing them on the site and online and eventually as a collection, so again, if you want to be the first in line, make sure you're subscribed!&lt;/p&gt;
&lt;p&gt;I also have a few different tools, games, and technologies that I'd like to get stuck into - the eternal curse of being a developer - but one thing at a time.&lt;/p&gt;
&lt;p&gt;Alright! This post has gone on long enough. I'm writing this on an airplane on my way surprise my Dad for his 60th birthday. It involves lots of skulking around airports and waiting on lifts. Joy.&lt;/p&gt;
&lt;div class=&quot;modal hidden&quot; id=&quot;modal-signup&quot;&gt;
    &lt;div class=&quot;modal-content&quot;&gt;
        &lt;a href=&quot;#&quot; onclick=&quot;javascript:modalClose(event)&quot; title=&quot;close&quot; class=&quot;modal-close&quot;&gt;&lt;img src=&quot;https://damianconnolly.com/img/close.png&quot; alt=&quot;Close&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;/a&gt;
        &lt;h3&gt;Become an Insider&lt;/h3&gt;


&lt;p class=&quot;signup-blurb&quot;&gt;Get news, free stories, and free books delivered direct to your inbox&lt;/p&gt;
&lt;form action=&quot;//damianconnolly.us3.list-manage.com/subscribe/post?u=9817bafb87077bb7e9f622d09&amp;amp;id=4a42a29376&quot; method=&quot;post&quot; class=&quot;flex-form&quot; onsubmit=&quot;signupOnSubmit(event)&quot;&gt;
    &lt;div class=&quot;required&quot;&gt;&lt;span class=&quot;asterisk&quot;&gt;*&lt;/span&gt; indicates required&lt;/div&gt;
    &lt;input type=&quot;text&quot; name=&quot;FNAME&quot; placeholder=&quot;First name *&quot; required&gt;
    &lt;input type=&quot;email&quot; name=&quot;EMAIL&quot; placeholder=&quot;Email *&quot; required&gt;
    &lt;div class=&quot;form-hidden&quot; aria-hidden=&quot;true&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;BOOK&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;SOURCE&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;GENRE&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;b_9817bafb87077bb7e9f622d09_4a42a29376&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
    &lt;/div&gt;
    &lt;div class=&quot;signup-form-pending hidden&quot;&gt;
        &lt;p&gt;It looks like you've previously signed up, but haven't confirmed your email. If you haven't received an email yet, please check your &lt;strong&gt;Social/Promotions&lt;/strong&gt; or &lt;strong&gt;Spam&lt;/strong&gt; folders.&lt;/p&gt;
    &lt;/div&gt;
    &lt;button type=&quot;submit&quot; name=&quot;subscribe&quot; class=&quot;form-button&quot;&gt;Get your FREE bonus!&lt;/button&gt;
&lt;/form&gt;
&lt;p class=&quot;signup-blurb note&quot;&gt;I hate spam as much as you do; your email will &lt;strong&gt;never&lt;/strong&gt; be sold or shared&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;</description>
		<pubDate>Fri, 12 May 2017 18:50:00 +0200</pubDate>
		<link>https://damianconnolly.com/2017/05/12/shepherds-update/</link>
		<guid isPermaLink="true">https://damianconnolly.com/2017/05/12/shepherds-update/</guid>
		</item>
	
		<item>
		<title>Shepherds: Origins excerpt</title>
		<description>&lt;div class=&quot;editorial-review&quot;&gt;
    &lt;p&gt;This is an excerpt of the first chapter of &lt;em&gt;Shepherds: Origins&lt;/em&gt;, a prequel to &lt;em&gt;Shepherds: Awakening&lt;/em&gt;. It's still a work in progress and the content may change as it goes through the editorial process.&lt;/p&gt;
    &lt;p&gt;Origins takes place long before Awakening and follows the story of Aden and Lugh, and how Shades came to be.&lt;/p&gt;
&lt;/div&gt;

&lt;h2 id=&quot;aden&quot;&gt;Aden&lt;/h2&gt;
&lt;div class=&quot;book&quot;&gt;
&lt;p&gt;“It’s time.”&lt;/p&gt;
&lt;p&gt;Aden looked up from the knife he was sharpening. His mother stood in the doorway. She looked haggard, like she’d not slept properly in weeks. He was about to offer a bewildered, &lt;em&gt;Who?&lt;/em&gt;, when his mind offered up a name.&lt;/p&gt;
&lt;p&gt;It was so hard to think of him these days. &lt;em&gt;How long has it been?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;“Already?” He tried to keep his voice steady. He glanced over at his son, playing quietly in the corner. “I was told I had years yet.”&lt;/p&gt;
&lt;p&gt;His mother shrugged, a tiny movement. It was out of her control. “I know, Aden, I thought I did too.” She trailed off. “It’s the black rot,” she said with a shake of her head, coming back to herself. “Nobody has much to eat these days, especially in winter. News is there’s fighting in the north as well. The Green Man says it’s taken its toll on him.”&lt;/p&gt;
&lt;p&gt;“How sure is he?”&lt;/p&gt;
&lt;p&gt;“Sure enough. He wants to you come in the morning.”&lt;/p&gt;
&lt;p&gt;Aden bit his tongue and took a slow breath. He didn’t want to worry his son. “That’s no time at all.”&lt;/p&gt;
&lt;p&gt;“Aye lad,” she said. She seemed about to say something, then stopped. “I need to be getting back,” she said finally.&lt;/p&gt;
&lt;p&gt;Aden looked at her, at the pain in her eyes, pain she was trying to hide. He rose quickly, crossed the room, and, bending a little, gave her a soft kiss on the forehead. “Try and sleep. I’ll see you in the morning.”&lt;/p&gt;
&lt;p&gt;She gave him a tired smile, then left as quietly as she’d came.&lt;/p&gt;
&lt;p&gt;“Nana?” piped a voice behind him.&lt;/p&gt;
&lt;p&gt;“She just came over to say goodnight,” he told his son, watching his mother hurry away. She had a permanent hunch now, as if ashamed, though everyone she met bowed their head and cleared out of her path.&lt;/p&gt;
&lt;p&gt;“I don’t wanna say goodnight. I don’t want to go to sleep,” his son said, definitively.&lt;/p&gt;
&lt;p&gt;Aden walked back to the table and picked up the blade he’d been working on. There wasn’t much point continuing, for the light was fading fast. It trembled in his grip. &lt;em&gt;Probably cut myself anyway.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;He drove it into the table.&lt;/p&gt;
&lt;p&gt;His son jumped. “Papa?”&lt;/p&gt;
&lt;p&gt;“It’s fine lad, go back to your toys.” He forced his hand to relax.&lt;/p&gt;
&lt;p class=&quot;book-para&quot;&gt;&lt;/p&gt;
&lt;p&gt;When Deidra came in, she found him sitting with his back to the hearth. She took a quick scan of the room, sampling the mood. She’d always been very quick; it was one of the things he loved about her.&lt;/p&gt;
&lt;p&gt;“What is it?” she said, picking up their son who’d jumped up with a delighted cry. She planted a distracted kiss on his cheek and let him down again.&lt;/p&gt;
&lt;p&gt;Aden took a moment before answering. “It’s time. I have to go.”&lt;/p&gt;
&lt;p&gt;She smoothed the front of her dress though it was as clean as when she’d put it on this morning. “When?”&lt;/p&gt;
&lt;p&gt;“Tomorrow morning.”&lt;/p&gt;
&lt;p&gt;Emotions flitted across her face as she looked from him to their son. She dropped to her knees and took his hands in hers, her face serious. “Is there no-one else?”&lt;/p&gt;
&lt;p&gt;He said nothing, for they both knew the answer. Her grip was hard on his. He held it.&lt;/p&gt;
&lt;p&gt;She rose then, her manner brusque. “Cian,” she said, addressing their son, “Come on over here and play with your father. Bring your toys.”&lt;/p&gt;
&lt;p&gt;“Yes!” Cian he said, his face lighting up. He gathered up each one of the toys that Aden had made for him over the years. The cattle, the dogs, all the different puppets. Each was stacked one on top of the other, placed with the delicate seriousness that only a three year old can have, until they went up under his chin. He tottered over, trying to stop any from falling, and dropped them in front of Aden.&lt;/p&gt;
&lt;p&gt;“Here Papa,” Cian said, holding out a doll with a sword for him. Aden took it with a smile.&lt;/p&gt;
&lt;p&gt;“Here Mama.”&lt;/p&gt;
&lt;p&gt;While she took the proferred toy, her eyes never left his face, glaring at him. &lt;em&gt;Well, she has every right to be angry.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;He let their son make the story, indulging Cian in whatever absurdity developed. His wife sat apart, her eyes fixed on him, daring him to acknowledge what he was giving up.&lt;/p&gt;
&lt;p&gt;What he was making them do.&lt;/p&gt;
&lt;p&gt;He played on, memorising his son’s face. The delight in the boy’s eyes, the lock of hair that he kept brushing away, the smile he tried to hide when he knew he was being cheeky.&lt;/p&gt;
&lt;p&gt;He drank it all in.&lt;/p&gt;
&lt;p&gt;Tomorrow, Cian would be losing the both of them.&lt;/p&gt;
&lt;p class=&quot;book-para&quot;&gt;&lt;/p&gt;
&lt;p&gt;He sat on the hard-packed dirt floor beside his son’s bed, watching him sleep in the red glow of what was left of the fire. He should be in bed himself, but he could indulge. He shifted a bit. Well, as much as he could anyway.&lt;/p&gt;
&lt;p&gt;His son gave a tiny frown and whimpered. &lt;em&gt;Maybe he knows what’s coming.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;“Hush, lad,” he whispered, soothing his son’s hair. “Papa’s here.”&lt;/p&gt;
&lt;p&gt;A pair of arms crossed around his neck. Deidra crushed him in a tight embrace. “Come to bed,” she said, kissing his neck.&lt;/p&gt;
&lt;p&gt;“I don’t want to. I don’t want to sleep.”&lt;/p&gt;
&lt;p&gt;“Then let’s not.”&lt;/p&gt;
&lt;p&gt;He sat rooted. Moving would mean leaving. He would not get this moment again. Finally, he nodded.&lt;/p&gt;
&lt;p&gt;He rose and went to lay with his wife one last time.&lt;/p&gt;
&lt;/div&gt;




&lt;div class=&quot;flex-container content-upgrade raised-corners&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/cover_flat_angle_small.jpg&quot; alt=&quot;Shepherds: Awakening - available on Kindle and paperback&quot; width=&quot;300&quot; height=&quot;207&quot; class=&quot;flex-image&quot; /&gt;
    &lt;div class=&quot;flex-cell&quot;&gt;
        &lt;h2 class=&quot;flex-header&quot;&gt;Want a FREE excerpt of Shepherds: Awakening?&lt;/h2&gt;
        &lt;p class=&quot;content-upgrade-body&quot;&gt;Insiders get the first 4 chapters of my first book for FREE and will be the first to get notified when Shepherds: Origins is out!&lt;/p&gt;


&lt;a href=&quot;#&quot; onclick=&quot;javascript:modalCheckForBonusOrOpen( event, 'modal-signup' )&quot;  class=&quot;form-button&quot;&gt;I'm in!&lt;/a&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;div class=&quot;share-box&quot;&gt;
    &lt;h3 id=&quot;share&quot;&gt;Share this&lt;/h3&gt;
    &lt;a href=&quot;https://twitter.com/intent/tweet?hashtags=Shepherds&amp;original_referer=https%3A%2F%2Fdamianconnolly.com%2F2016%2F12%2F31%2Fshepherds-origins-excerpt%2F&amp;text=Check+out+the+first+chapter+of+Shepherds%3A+Origins!&amp;url=https%3A%2F%2Fdamianconnolly.com%2F2016%2F12%2F31%2Fshepherds-origins-excerpt%2F&amp;via=divillysausages&quot; class=&quot;twitter-share-btn&quot; title=&quot;Tweet on Twitter&quot; target=&quot;_blank&quot;&gt;Tweet&lt;/a&gt;
    &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdamianconnolly.com%2F2016%2F12%2F31%2Fshepherds-origins-excerpt%2F&quot; class=&quot;fb-share-btn&quot; title=&quot;Share on Facebook&quot; target=&quot;_blank&quot;&gt;Share&lt;/a&gt;
&lt;/div&gt;


&lt;div class=&quot;modal hidden&quot; id=&quot;modal-signup&quot;&gt;
    &lt;div class=&quot;modal-content&quot;&gt;
        &lt;a href=&quot;#&quot; onclick=&quot;javascript:modalClose(event)&quot; title=&quot;close&quot; class=&quot;modal-close&quot;&gt;&lt;img src=&quot;https://damianconnolly.com/img/close.png&quot; alt=&quot;Close&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;/a&gt;
        &lt;h3&gt;Become an Insider&lt;/h3&gt;


&lt;p class=&quot;signup-blurb&quot;&gt;Get news, free stories, and free books delivered direct to your inbox&lt;/p&gt;
&lt;form action=&quot;//damianconnolly.us3.list-manage.com/subscribe/post?u=9817bafb87077bb7e9f622d09&amp;amp;id=4a42a29376&quot; method=&quot;post&quot; class=&quot;flex-form&quot; onsubmit=&quot;signupOnSubmit(event)&quot;&gt;
    &lt;div class=&quot;required&quot;&gt;&lt;span class=&quot;asterisk&quot;&gt;*&lt;/span&gt; indicates required&lt;/div&gt;
    &lt;input type=&quot;text&quot; name=&quot;FNAME&quot; placeholder=&quot;First name *&quot; required&gt;
    &lt;input type=&quot;email&quot; name=&quot;EMAIL&quot; placeholder=&quot;Email *&quot; required&gt;
    &lt;div class=&quot;form-hidden&quot; aria-hidden=&quot;true&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;BOOK&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;SOURCE&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;GENRE&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;b_9817bafb87077bb7e9f622d09_4a42a29376&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
    &lt;/div&gt;
    &lt;div class=&quot;signup-form-pending hidden&quot;&gt;
        &lt;p&gt;It looks like you've previously signed up, but haven't confirmed your email. If you haven't received an email yet, please check your &lt;strong&gt;Social/Promotions&lt;/strong&gt; or &lt;strong&gt;Spam&lt;/strong&gt; folders.&lt;/p&gt;
    &lt;/div&gt;
    &lt;button type=&quot;submit&quot; name=&quot;subscribe&quot; class=&quot;form-button&quot;&gt;Get your FREE bonus!&lt;/button&gt;
&lt;/form&gt;
&lt;p class=&quot;signup-blurb note&quot;&gt;I hate spam as much as you do; your email will &lt;strong&gt;never&lt;/strong&gt; be sold or shared&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;</description>
		<pubDate>Sat, 31 Dec 2016 22:54:00 +0100</pubDate>
		<link>https://damianconnolly.com/2016/12/31/shepherds-origins-excerpt/</link>
		<guid isPermaLink="true">https://damianconnolly.com/2016/12/31/shepherds-origins-excerpt/</guid>
		</item>
	
		<item>
		<title>A quick note on 2016</title>
		<description>&lt;p&gt;This site's been a bit quiet since the release of &lt;a href=&quot;https://damianconnolly.com/books/shepherds_awakening/&quot;&gt;Shepherds: Awakening&lt;/a&gt;. I actually have a few technical blog posts ready to go; I just need to find the time to actually finish up the code and package everything so it's easy to use.&lt;/p&gt;
&lt;p&gt;In terms of writing, I'm deep into my second book, tentatively titled &lt;em&gt;Shepherds: Origins&lt;/em&gt;. It was originally planned as a short novelette on the origins of Shepherds and where Shades come from, but the more I planned it out, the more interested it became and the more it grew. Just yesterday it passed the word count for the first &lt;em&gt;Shepherds&lt;/em&gt; novel, and I've completely blown past my Christmas deadline, but it's all good; I think the story is better for it. Overall I'm excited about this one.&lt;/p&gt;
&lt;p&gt;In lieu of not having an entire story for you, &lt;a href=&quot;https://damianconnolly.com/2016/12/31/shepherds-origins-excerpt/&quot;&gt;I've released the first chapter online&lt;/a&gt;. It still hasn't gone through editing yet, but I'd love to &lt;a href=&quot;#&quot; class=&quot;contact-link&quot;&gt;hear your feedback on it&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;2016 was a crazy year! I released my first book, learned a hell of a lot, and got some great responses. I'm looking forward to 2017, so with only a few hours to go, have a great New Year's Eve!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://damianconnolly.com/2016/12/31/shepherds-origins-excerpt/&quot;&gt;Go read the first chapter of Shepherds: Origins!&lt;/a&gt;&lt;/p&gt;
</description>
		<pubDate>Sat, 31 Dec 2016 22:36:00 +0100</pubDate>
		<link>https://damianconnolly.com/2016/12/31/quick-note-2016/</link>
		<guid isPermaLink="true">https://damianconnolly.com/2016/12/31/quick-note-2016/</guid>
		</item>
	
		<item>
		<title>Automating your Ebook builds</title>
		<description>&lt;p&gt;In a &lt;a href=&quot;https://damianconnolly.com/2016/08/12/opf-patcher/&quot;&gt;previous blog post&lt;/a&gt; I talked about a tool that I use to help patch the OPF file in an EPUB so it can be used better with a MOBI (to be clear, you can use the default no problem, I just wanted to be able to add extra entries to the nav and optionally remove the cover).&lt;/p&gt;
&lt;p&gt;With this post, I wanted to cover how I use that tool in my build chain so that I can automatically produce an EPUB, a PDF, and a MOBI version of my book any time I make an edit. By automating all of this, I make my life a lot easier; I get the computer to do all the boring work so I don't have to.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The final versions are ready in a few seconds&lt;/li&gt;
&lt;li&gt;I keep one master document, so that all versions are up to date&lt;/li&gt;
&lt;li&gt;There no chance of accidently making an error - once you're happy with the results, you know it'll always be the same.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, with that in mind, this is my guide on automating your Ebook builds (with amazing graphics).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2016/automate-ebook/twitterOG.jpg&quot; alt=&quot;Automating Ebook builds&quot; width=&quot;600&quot; height=&quot;321&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;the-tools&quot;&gt;The tools&lt;/h2&gt;
&lt;p&gt;We're going to be using the power of the command line in order to chain all our commands together. If you're not familiar with the command line, or terminal, it's a way of calling programs with code, without going through a GUI (using the mouse to double-click on an icon, etc). Most programs allow themselves to be called through the command line.&lt;/p&gt;
&lt;p&gt;We're going to be writing all our commands into a special file called a &lt;em&gt;batch file&lt;/em&gt; (.bat) (called a shell script (.sh) if your on a Mac) which will allow us to run it whenever we want without having to remember all the commands.&lt;/p&gt;
&lt;h3 id=&quot;pandoc&quot;&gt;Pandoc&lt;/h3&gt;
&lt;p&gt;This is the workhorse of the bunch, and it's really a fantastic tool. Pandoc is a document converter, taking a document in one format and outputting it in another. We'll use this to making our EPUB and PDF.&lt;/p&gt;
&lt;p&gt;Simply &lt;a href=&quot;http://pandoc.org/installing.html&quot;&gt;head over to the Pandoc site&lt;/a&gt; and download it. &lt;/p&gt;
&lt;p&gt;For making our PDF, we'll need a version of LateX, which is simply a tool used to create PDFs programatically (for an ubiquitous format, they're surprisingly finicky to get right). Depending on your platform, download &lt;a href=&quot;http://miktex.org/&quot;&gt;MiKTeX&lt;/a&gt; (Windows) or &lt;a href=&quot;http://www.tug.org/mactex/morepackages.html&quot;&gt;MacTeX&lt;/a&gt; (Mac). When you're installing, make sure that you select the option to allow it to automatically download whatever packages it needs, otherwise you'll have problems with the script (as it'll be waiting for an answer to a question that you won't see).&lt;/p&gt;
&lt;h3 id=&quot;kindlegen&quot;&gt;KindleGen&lt;/h3&gt;
&lt;p&gt;KindleGen is Amazon's program for creating MOBIs from EPUBs (or from scratch if you have the right files). This lets you create the final Kindle file and see how it looks before you release your book - which is obviously useful.&lt;/p&gt;
&lt;p&gt;You can &lt;a href=&quot;https://www.amazon.com/gp/feature.html?docId=1000765211&quot;&gt;get it from the Amazon website&lt;/a&gt;. Remember the path where you unzip it as you'll need it later.&lt;/p&gt;
&lt;p&gt;One thing to keep in mind when making the MOBI is that the current advice from Amazon is to upload your cover with your file and they'll combine it in the final product, rather than having it already combined. This is where the OPFPatch program comes in. When building, we'll create two MOBI files; one with a cover and one without (for distributing outside of Amazon if you want).&lt;/p&gt;
&lt;h3 id=&quot;opfpatcher&quot;&gt;OPFPatcher&lt;/h3&gt;
&lt;p&gt;This is the program I use to patch the OPF file in the generated EPUB to do a few things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Optionally remove the cover&lt;/li&gt;
&lt;li&gt;Optionally add a link for the start of the book, so when readers first open the book, it's on the right page&lt;/li&gt;
&lt;li&gt;Optionally add a link for the dedication section&lt;/li&gt;
&lt;li&gt;Optionally add a link for the acknowledgements section&lt;/li&gt;
&lt;li&gt;Optionally add a link for the back-of-the-book section&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://damianconnolly.com/2016/08/12/opf-patcher/&quot;&gt;I've covered the OPFPatcher in a previous post&lt;/a&gt;, so you can head over there if you want to read more about it and how to get set up, or just &lt;a href=&quot;https://bitbucket.org/divillysausages/opfpatcher&quot;&gt;go and grab the source&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;7zip&quot;&gt;7ZIP&lt;/h3&gt;
&lt;p&gt;We create our MOBI file from our EPUB, but before we do that, we want to patch the OPF file, to add a few entries in the menu and optionally remove the cover file. To get at the OPF file, we need to unzip the EPUB, which is where 7Zip comes in (Windows actually comes with a built-in ZIP, but I couldn't find a way to access it through the command line). It's a fantastic program that I recommend having, even outside of this.&lt;/p&gt;
&lt;p&gt;You'll only need this on Windows as Mac has its own built-in, so if that's you, &lt;a href=&quot;http://www.7-zip.org/download.html&quot;&gt;you can download 7Zip here&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;pdftoolkit&quot;&gt;PDFToolkit&lt;/h3&gt;
&lt;p&gt;When creating our PDF, we'll want a full page image for the cover, while having the proper margins for all the other pages. Rather than mess around trying to hack something in LateX, I took the simpler approach of producing two PDFs, and then combining them into the final product. PDFToolkit allows me to do that.&lt;/p&gt;
&lt;p&gt;As a side note, it can do a hell of a lot more, so if you're interested, feel free to dive in. &lt;a href=&quot;https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/&quot;&gt;You can download PDFToolkit here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;a-very-quick-primer-on-the-command-line&quot;&gt;A VERY quick primer on the command line&lt;/h2&gt;
&lt;p&gt;To get you up to speed so that you're a bit more comfortable reading the shell script attached to this post (as you'll need to edit it), here's a quick rundown on what's what.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2016/automate-ebook/command-line.png&quot; alt=&quot;A quick primer on the command line&quot; width=&quot;450&quot; height=&quot;130&quot; /&gt;&lt;/p&gt;
&lt;p&gt;To edit the file, &lt;em&gt;right-click&lt;/em&gt; on it, and select &lt;em&gt;Edit in Notepad&lt;/em&gt; or whatever you text editing program of choice is (NOTE: use an editor that can save to plain text - i.e. don't use Word). If you have a program like the fantastic &lt;a href=&quot;https://notepad-plus-plus.org/&quot;&gt;Notepad++&lt;/a&gt; or &lt;a href=&quot;https://www.sublimetext.com/&quot;&gt;SublimeEdit&lt;/a&gt; etc, then use that, as you'll get colour coding, which will make your life easier. NOTE: plain Notepad or Wordpad will still get the job done, it's just easier when everything's coloured.&lt;/p&gt;
&lt;p&gt;Now, on to working in the command line.&lt;/p&gt;
&lt;h3 id=&quot;comments&quot;&gt;Comments&lt;/h3&gt;
&lt;p&gt;Any line that starts with &lt;code&gt;::&lt;/code&gt; is considered a comment and won't be executed. If a particular step isn't working, then you can comment it out (i.e. ignore it), by adding &lt;code&gt;::&lt;/code&gt; to the start of the line.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;:: I can &lt;span class=&quot;hljs-built_in&quot;&gt;write&lt;/span&gt; whatever I want here &lt;span class=&quot;hljs-keyword&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;it&lt;/span&gt;'s going &lt;span class=&quot;hljs-keyword&quot;&gt;to&lt;/span&gt; be ignored&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;printing-amp-debug-messages&quot;&gt;Printing &amp;amp; debug messages&lt;/h3&gt;
&lt;p&gt;Any line that starts with &lt;code&gt;echo&lt;/code&gt; will print to the console (the window that you see when you run your script). Use this to display messages or understand what's going on.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;echo Starting &lt;span class=&quot;hljs-keyword&quot;&gt;super&lt;/span&gt; complicated process...&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;variables&quot;&gt;Variables&lt;/h3&gt;
&lt;p&gt;Any line that starts with &lt;code&gt;set&lt;/code&gt; is declaring a &lt;em&gt;variable&lt;/em&gt;, which we'll use to make our life easier. The format is &lt;code&gt;set KEY=VALUE&lt;/code&gt;, which means that any time we use &lt;code&gt;%KEY%&lt;/code&gt; (the name of the variable surrounded by &lt;code&gt;%&lt;/code&gt; symbols, the script will substitue in &lt;code&gt;VALUE&lt;/code&gt;). At the top of the script, you'll find some variables for paths to programs used. Replace the values (between the quote marks) with the right path for your computer.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;set&lt;/span&gt; PATH_TO_FILE=&lt;span class=&quot;hljs-string&quot;&gt;&quot;C:/Users/.../myFile.txt&quot;&lt;/span&gt;
&lt;span class=&quot;hljs-built_in&quot;&gt;echo&lt;/span&gt; %PATH_TO_FILE%&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;run-on-lines&quot;&gt;Run-on lines&lt;/h3&gt;
&lt;p&gt;Any line that &lt;em&gt;ends&lt;/em&gt; with &lt;code&gt;^&lt;/code&gt; is a run-on line, meaning that we can use multiple lines for calling a program with all the options, making it easier to read, while the script will see it as only one line. So:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;someExe^
 -&lt;span class=&quot;ruby&quot;&gt;option1 foo^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;option2 bar^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;option3&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Is the equivalent of writing&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;someExe -optio&lt;span class=&quot;hljs-symbol&quot;&gt;n1&lt;/span&gt; foo -optio&lt;span class=&quot;hljs-symbol&quot;&gt;n2&lt;/span&gt; bar -optio&lt;span class=&quot;hljs-symbol&quot;&gt;n3&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;syntax&quot;&gt;Syntax&lt;/h3&gt;
&lt;p&gt;Whenever you see a particular line, the first word or path is always the name of the program that we're executing. Everything else on that line are parameters that we're passing to the program to get it to do certain things. In order for the program to know what parameter is for what, you'll see things like this:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;&lt;span class=&quot;hljs-deletion&quot;&gt;-option1 foo&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Anything with a &lt;code&gt;-&lt;/code&gt; (or sometimes a &lt;code&gt;--&lt;/code&gt;) in front of it is a parameter, and everything immediately following it up until the next parameter is its value. In the above example, the parameter &lt;code&gt;-option1&lt;/code&gt; has a value of &lt;code&gt;foo&lt;/code&gt;. Don't worry if you don't get this right away; it'll become apparent when you see the actual code.&lt;/p&gt;
&lt;h3 id=&quot;paths&quot;&gt;Paths&lt;/h3&gt;
&lt;p&gt;A word of note about the name of the program that we're calling. If you see the name on its own (e.g. &lt;code&gt;someExe&lt;/code&gt;), then the exe with that name needs to be in the same folder as the script calling it, or else be known to the computer. Generally the latter means adding its folder to the &lt;code&gt;PATH&lt;/code&gt; variable. This is a special variable that simply contains a list of paths. When you make a call to an exe that isn't known, your computer will look in all the directories declared in &lt;code&gt;PATH&lt;/code&gt; until it finds it. If you don't know how to change the &lt;code&gt;PATH&lt;/code&gt; variable, &lt;a href=&quot;http://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/&quot;&gt;this is how you do it on Windows&lt;/a&gt; and &lt;a href=&quot;http://osxdaily.com/2014/08/14/add-new-path-to-path-command-line/&quot;&gt;this is how you do it on Mac&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Again, this isn't something that we &lt;em&gt;need&lt;/em&gt; to do. An alternative to this is to simply enter a relative or full path to the exe in question. Instead of calling &lt;code&gt;7z&lt;/code&gt; to access the 7Zip program, you'd call &lt;code&gt;C:/Program Files/7-Zip/7z&lt;/code&gt;, or &lt;code&gt;../../relative/path/to/7-Zip/7z&lt;/code&gt;. Generally, absolute paths are easier to deal with. If your path contains a space, then be sure to escape it (add a &lt;code&gt;\&lt;/code&gt; before the space), or put quotes around the full path.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;:: call &lt;span class=&quot;hljs-keyword&quot;&gt;the&lt;/span&gt; program &lt;span class=&quot;hljs-string&quot;&gt;&quot;Foo&quot;&lt;/span&gt;, which &lt;span class=&quot;hljs-keyword&quot;&gt;is&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;the&lt;/span&gt; same folder
./foo

:: &lt;span class=&quot;hljs-keyword&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; we're &lt;span class=&quot;hljs-keyword&quot;&gt;on&lt;/span&gt; Windows, &lt;span class=&quot;hljs-keyword&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;the&lt;/span&gt; folder &lt;span class=&quot;hljs-keyword&quot;&gt;where&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;&quot;Foo&quot;&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;is&lt;/span&gt; located &lt;span class=&quot;hljs-keyword&quot;&gt;is&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;the&lt;/span&gt; PATH variable
foo

:: &lt;span class=&quot;hljs-string&quot;&gt;&quot;Foo&quot;&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;is&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;the&lt;/span&gt; folder up one level
../foo

:: up two levels
../../foo

:: up two levels &lt;span class=&quot;hljs-keyword&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt; a sub-folder
../../FooFolder/foo

:: direct path (&lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt; quotes &lt;span class=&quot;hljs-keyword&quot;&gt;as&lt;/span&gt; there's a &lt;span class=&quot;hljs-literal&quot;&gt;space&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;hljs-string&quot;&gt;&quot;Program Files&quot;&lt;/span&gt;)
&lt;span class=&quot;hljs-string&quot;&gt;&quot;C:/Program Files/FooFolder/foo&quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;the-folder-structure&quot;&gt;The folder structure&lt;/h2&gt;
&lt;p&gt;We're going to follow a defined folder structure to keep things organised. While you don't have to keep the same thing, you should at least use it until your comfortable with the script before changing anything.&lt;/p&gt;
&lt;p&gt;This is what you'll find if you download the files at the end of the post:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2016/automate-ebook/folder-structure.png&quot; alt=&quot;The folder structure of the test files&quot; width=&quot;490&quot; height=&quot;215&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;bin/&lt;/em&gt; - The folder where our final Ebooks are going to be saved&lt;/li&gt;
&lt;li&gt;&lt;em&gt;cover/&lt;/em&gt; - The folder where we keep our cover images. There are two: one JPG and one PDF. The PDF cover is simply the JPG saved as a full page PDF. Most graphics programs will let you do this&lt;/li&gt;
&lt;li&gt;&lt;em&gt;latex/&lt;/em&gt; - The folder where we keep our snippets for Latex, the language that we use to generate our PDF. The file inside, &lt;em&gt;titlesec.tex&lt;/em&gt;, simply makes sure that each new chapter in our book starts on a new page&lt;/li&gt;
&lt;li&gt;&lt;em&gt;metadata/&lt;/em&gt; - The folder containing the metadata about our book. There are two files inside, one for the EPUB/MOBI and one for the PDF. Simply edit the contents so they're about your book&lt;/li&gt;
&lt;li&gt;&lt;em&gt;snippets/&lt;/em&gt; - An optional folder for snippets, or additional content to add to your book. I use this if I generate pre-release and post-release versions of my book, where I can change the content of the &lt;em&gt;Thank you&lt;/em&gt; page accordingly&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Book.md&lt;/em&gt; - Our book file, in &lt;a href=&quot;https://daringfireball.net/projects/markdown/&quot;&gt;Markdown&lt;/a&gt; format. You don't have to write your book in Markdown - it could just as easily be a Word doc - but it's very easy to use and makes converting to HTML (the format for webpages and EPUBs) a cinch&lt;/li&gt;
&lt;li&gt;&lt;em&gt;generate-mac.sh&lt;/em&gt; - The &lt;em&gt;shell&lt;/em&gt; file to generate our book (Mac). Everytime you want to make a new version, you'd simply run this, either by double-clicking on it, or opening the command line and typing its name&lt;/li&gt;
&lt;li&gt;&lt;em&gt;generate-pc.bat&lt;/em&gt; - The &lt;em&gt;batch&lt;/em&gt; file to generate our book (Windows). Everytime you want to make a new version, you'd simply run this, either by double-clicking on it, or opening the command line and typing its name&lt;/li&gt;
&lt;li&gt;&lt;em&gt;README.txt&lt;/em&gt; - A simple README text file describing the files and how to run the script. It also contains a checklist of everything you need to change in order to run this script on your own book&lt;/li&gt;
&lt;li&gt;&lt;em&gt;style.css&lt;/em&gt; - As EPUB (and thus MOBI) are based on HTML, you handle the style of your book in the same way as you'd style a webpage. The &lt;em&gt;style.css&lt;/em&gt; file contains a number of declarations to have a simple, yet clean, output&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;the-code&quot;&gt;The code&lt;/h2&gt;
&lt;p&gt;Alright! Let's get down to business. I'm going to explain the different sections of code in the script. Don't worry too much about copying them all down; it's all in the &lt;em&gt;generate-pc.bat&lt;/em&gt;/&lt;em&gt;generate-mac.sh&lt;/em&gt; file.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2016/automate-ebook/script.jpg&quot; alt=&quot;The script to automatically generate Ebooks&quot; width=&quot;600&quot; height=&quot;385&quot; /&gt;&lt;/p&gt;
&lt;p&gt;To show you that everything works, you'll also have a full working sample of turning this very post into a small Ebook. Feel free to play around with it and change whatever you want in order to get the hang of things.&lt;/p&gt;
&lt;h3 id=&quot;step-1-the-setup&quot;&gt;Step 1: The setup&lt;/h3&gt;
&lt;p&gt;The first thing that we're going to do is declare the locations of the different tools that we're going to use while building our books. You'll need to change the location to the equivalent on your computer.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;ZIP&lt;/span&gt;=&lt;span class=&quot;hljs-string&quot;&gt;&quot;C:/Program Files/7-Zip/7z&quot;&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;set&lt;/span&gt; KINDLEGEN=&lt;span class=&quot;hljs-string&quot;&gt;&quot;PATH-TO-KINDLEGEN/kindlegen2-9/kindlegen&quot;&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;set&lt;/span&gt; OPFPATCH=&lt;span class=&quot;hljs-string&quot;&gt;&quot;PATH-TO-OPFPATCHER-EXE&quot;&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;set&lt;/span&gt; BOOKNAME=&lt;span class=&quot;hljs-string&quot;&gt;&quot;AutomateYourEbook&quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Note that the &lt;code&gt;.exe&lt;/code&gt; at the end of programs is implicit - e.g. you can have &lt;code&gt;kindlegen2-9/kindlegen&lt;/code&gt; or &lt;code&gt;kindlegen2-9/kindlegen.exe&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For the &lt;code&gt;BOOKNAME&lt;/code&gt; variable, this is to make it easier when it comes to changing it for your own book, as you only need to change it in one place rather than 100. So if you see &lt;code&gt;%BOOKNAME%.epub&lt;/code&gt;, you can read &lt;code&gt;AutomateYourEbook.epub&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Next we're going to clean up any previous build results so that don't have any old files hanging around. The easiest way to do this is to simply delete the &lt;em&gt;bin/&lt;/em&gt; folder and recreate it.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;echo&lt;/span&gt; Cleaning previous...

&lt;span class=&quot;hljs-built_in&quot;&gt;rmdir&lt;/span&gt; bin /s /q
&lt;span class=&quot;hljs-built_in&quot;&gt;mkdir&lt;/span&gt; bin&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;step-2-converting-to-epub&quot;&gt;Step 2: Converting to EPUB&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2016/automate-ebook/convert-epub.jpg&quot; alt=&quot;Converting to EPUB&quot; width=&quot;600&quot; height=&quot;300&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The first conversion that we're doing is getting our EPUB. We're going to use the fantastic Pandoc for this, and the code looks like:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;pandoc -s^
 -&lt;span class=&quot;ruby&quot;&gt;S^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;-dpi=&lt;span class=&quot;hljs-number&quot;&gt;350&lt;/span&gt;^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;-toc^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;M toc-&lt;span class=&quot;hljs-symbol&quot;&gt;title:&lt;/span&gt;&lt;span class=&quot;hljs-string&quot;&gt;&quot;Table of Contents&quot;&lt;/span&gt;^
&lt;/span&gt; metadata/metadata.md^
 Book.md^
 snippets/thankyou.md^
 -&lt;span class=&quot;ruby&quot;&gt;o bin/%BOOKNAME%.epub&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Remember that &lt;code&gt;^&lt;/code&gt; indicates a run-on line, so everything after &lt;code&gt;pandoc&lt;/code&gt; is the equivalent of a single line. To understand what's going on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pandoc&lt;/code&gt; - We're calling the Pandoc exe here. When you install Pandoc, it'll automatically add itself to the &lt;code&gt;PATH&lt;/code&gt; variable, so we're able to call it without specifying where it is&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-s&lt;/code&gt; - We're creating a standalone document, meaning that it'll generate a proper file rather than just a snippet&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-S&lt;/code&gt; - We want typographically correct output; straight quotes to curly quotes, using em-dashes, etc&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--dpi=350&lt;/code&gt; - We want a resolution of 350 dots per inch. When working with pixels on something that could be printed, we always need to declare the DPI. As a general rule of thumb, 72 DPI is screen resolution, 300+DPI is print resolution&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--toc&lt;/code&gt; - We want to generate a table of contents&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-M toc-title:&quot;Table of Contents&quot;&lt;/code&gt; - We want to use &quot;Table of Contents&quot; as the title for our table of contents page&lt;/li&gt;
&lt;li&gt;&lt;code&gt;metadata/metadata.md&lt;/code&gt; - Include the metadata for our book. NOTE: when including files, they're taken in order&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Book.md&lt;/code&gt; - Include the book itself&lt;/li&gt;
&lt;li&gt;&lt;code&gt;snippets/thankyou.md&lt;/code&gt; - Include the &lt;em&gt;Thank you&lt;/em&gt; snippet (optional)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-o bin/%BOOKNAME%.epub&lt;/code&gt; - Save the output in the &lt;em&gt;bin/&lt;/em&gt; folder and call it &lt;em&gt;AutomateYourEbook.epub&lt;/em&gt; (remember, &lt;code&gt;%BOOKNAME%&lt;/code&gt; expands to &lt;code&gt;AutomateYourEbook&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;step-3-converting-to-pdf&quot;&gt;Step 3: Converting to PDF&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2016/automate-ebook/convert-pdf.jpg&quot; alt=&quot;Converting to PDF&quot; width=&quot;600&quot; height=&quot;300&quot; /&gt;&lt;/p&gt;
&lt;p&gt;For the PDF version, we have 3 steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Generate the text version of the book&lt;/li&gt;
&lt;li&gt;Combine the text version with our previously generated cover to create the final version&lt;/li&gt;
&lt;li&gt;Delete the text version as we don't need it anymore&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The code:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;pandoc -s^
 -&lt;span class=&quot;ruby&quot;&gt;S^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;-dpi=&lt;span class=&quot;hljs-number&quot;&gt;350&lt;/span&gt;^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;V colorlinks=&lt;span class=&quot;hljs-keyword&quot;&gt;true&lt;/span&gt;^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;V &lt;span class=&quot;hljs-symbol&quot;&gt;geometry:&lt;/span&gt;paperwidth=&lt;span class=&quot;hljs-number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt;^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;V &lt;span class=&quot;hljs-symbol&quot;&gt;geometry:&lt;/span&gt;paperheight=&lt;span class=&quot;hljs-number&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt;^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;V &lt;span class=&quot;hljs-symbol&quot;&gt;geometry:&lt;/span&gt;left=&lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;.&lt;span class=&quot;hljs-number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt;^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;V &lt;span class=&quot;hljs-symbol&quot;&gt;geometry:&lt;/span&gt;right=&lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;.&lt;span class=&quot;hljs-number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt;^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;V &lt;span class=&quot;hljs-symbol&quot;&gt;geometry:&lt;/span&gt;top=&lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;.&lt;span class=&quot;hljs-number&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt;^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;V &lt;span class=&quot;hljs-symbol&quot;&gt;geometry:&lt;/span&gt;bottom=&lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt;^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;V fontsize=&lt;span class=&quot;hljs-number&quot;&gt;11&lt;/span&gt;pt^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;V linestretch=&lt;span class=&quot;hljs-number&quot;&gt;1.4&lt;/span&gt;^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;V indent=&lt;span class=&quot;hljs-keyword&quot;&gt;true&lt;/span&gt;^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;V subparagraph=&lt;span class=&quot;hljs-keyword&quot;&gt;true&lt;/span&gt;^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;V documentclass=report^
&lt;/span&gt; -&lt;span class=&quot;ruby&quot;&gt;H latex/titlesec.tex^
&lt;/span&gt; metadata/metadata_pdf.md^
 Book.md^
 snippets/thankyou.md^
 -&lt;span class=&quot;ruby&quot;&gt;o bin/%BOOKNAME%_text.pdf&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;What's going on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pandoc&lt;/code&gt; - Again, we're calling Pandoc to generate our file&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-s&lt;/code&gt; - We're creating a standalone document&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-S&lt;/code&gt; - We want typographically correct output&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--dpi=350&lt;/code&gt; - Use a DPI of 350 dots per inch - Important as PDFs are often printed&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-V colorlinks=true&lt;/code&gt; - Colourise any HTML links found in the book so readers know that they're links&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-V geometry:paperwidth=5in&lt;/code&gt; - Set the physical width of our page to 5 inches&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-V geometry:paperheight=8in&lt;/code&gt; - Set the physical height of our page to 8 inches&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-V geometry:left=0.5in&lt;/code&gt; - Add a margin of half an inch to the left side of the page&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-V geometry:right=0.5in&lt;/code&gt; - Add a margin of half an inch to the right side of the page&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-V geometry:top=0.5in&lt;/code&gt; - Add a margin of half an inch to the top of the page&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-V geometry:bottom=1in&lt;/code&gt; - Add a margin of an inch to the bottom of the page&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-V fontsize=11pt&lt;/code&gt; - Use a font size of &lt;em&gt;11pt&lt;/em&gt; - NOTE: when talking about print documents, we use font sizes in &lt;em&gt;pt&lt;/em&gt; rather than &lt;em&gt;px&lt;/em&gt;, which is pixels (what we'd use on the web)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-V linestretch=1.4&lt;/code&gt; - Set the line height to 1.4 times the font size. Bigger values mean that your lines are further apart&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-V indent=true&lt;/code&gt; - All paragraphs are indented&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-V subparagraph=true&lt;/code&gt; - Use the default sub paragraph (which is necessary for the script that we use to put chapters on their own pages)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-V documentclass=report&lt;/code&gt; - Latex has a number of default document classes, or templates, to use for your book. For this example, I've found that the &lt;em&gt;report&lt;/em&gt; class, matched with our title-on-a-new-page snippet, gives a good overall output. If you're more familiar with Latex, you can define your own document class to get full control. NOTE: there's also a &lt;em&gt;book&lt;/em&gt; document type that you can check out to see if it fits your needs&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-H latex/titlesec.tex&lt;/code&gt; - Use the snippet that will make new chapters go on their own page&lt;/li&gt;
&lt;li&gt;&lt;code&gt;metadata/metadata_pdf.md&lt;/code&gt; - Add the metadata for our PDF&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Book.md&lt;/code&gt; - Add the book itself&lt;/li&gt;
&lt;li&gt;&lt;code&gt;snippets/thankyou.md&lt;/code&gt; - Add the &lt;em&gt;Thank you&lt;/em&gt; snippet (optional)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-o bin/%BOOKNAME%_text.pdf&lt;/code&gt; - Save the output in the &lt;em&gt;bin/&lt;/em&gt; folder and call it &lt;em&gt;AutomateYourEbook_text.pdf&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now that we have the text version of our book, we want to combine it with the cover:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;pdftk cover/cover.pdf bin/%BOOKNAME%_text.pdf cat output bin/%BOOKNAME%.pdf&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;What's going on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pdftk&lt;/code&gt; - We're calling the PDFToolkit program here. Again, it should add itself to your &lt;code&gt;PATH&lt;/code&gt; when installing&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cover/cover.pdf&lt;/code&gt; - Take the cover PDF file&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bin/%BOOKNAME%_text.pdf&lt;/code&gt; - Take the text version of our book&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cat&lt;/code&gt; - Combine (concatenate) them&lt;/li&gt;
&lt;li&gt;&lt;code&gt;output bin/%BOOKNAME%.pdf&lt;/code&gt; - Save the output in the &lt;em&gt;bin/&lt;/em&gt; folder and call it &lt;em&gt;AutomateYourEbook.pdf&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Finally, we can get rid of the text version of the book as we don't need it anymore:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;rm bin/%BOOKNAME%_text.pdf&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;step-4-converting-to-mobi&quot;&gt;Step 4: Converting to MOBI&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2016/automate-ebook/convert-mobi.jpg&quot; alt=&quot;Converting to MOBI&quot; width=&quot;500&quot; height=&quot;300&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Converting to MOBI is an optional step. I do it because I want to edit the files to add a few more things to the menu, but you can simply take your EPUB file and upload it directly to Amazon. Similarly, if you want to generate a MOBI, but don't care about editing anything inside it, you can just skip to the second last step.&lt;/p&gt;
&lt;p&gt;To do everything we need to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Unzip our EPUB&lt;/li&gt;
&lt;li&gt;Call OPFPatcher to patch our additions. For the Amazon version, we're going to be creating it without a cover (as they combine the cover when you upload your file), so we also delete any cover files&lt;/li&gt;
&lt;li&gt;Rezip to a new EPUB&lt;/li&gt;
&lt;li&gt;Convert our EPUB to MOBI&lt;/li&gt;
&lt;li&gt;Finally, remove any temporary files&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;First, unzip our EPUB:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;&lt;span class=&quot;hljs-variable&quot;&gt;%ZIP%&lt;/span&gt; x bin/&lt;span class=&quot;hljs-variable&quot;&gt;%BOOKNAME%&lt;/span&gt;.epub -o./bin/&lt;span class=&quot;hljs-variable&quot;&gt;%BOOKNAME%&lt;/span&gt; &amp;gt; &lt;span class=&quot;hljs-built_in&quot;&gt;nul&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;What's going on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;%ZIP%&lt;/code&gt; - We're calling the 7Zip program, but using the path that we declared as a variable at the start of the script&lt;/li&gt;
&lt;li&gt;&lt;code&gt;x bin/%BOOKNAME%.epub&lt;/code&gt; - Unzip our &lt;em&gt;bin/AutomateYourEbook.epub&lt;/em&gt; file&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-o./bin/%BOOKNAME%&lt;/code&gt; - Unzip it to the folder &lt;em&gt;bin/AutomateYourEbook&lt;/em&gt; (which will be created)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;gt; nul&lt;/code&gt; - This is just a trick to set the output of 7Zip to nowhere (&lt;code&gt;nul&lt;/code&gt;), meaning that we won't see it on the screen&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Call the OPFPatcher to patch in our changes. To get the names of the files that we're going to use, you can simply unzip the EPUB once manually to find them.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;call&lt;/span&gt; %OPFPATCH% -&lt;span class=&quot;hljs-keyword&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;bin&lt;/span&gt;/%BOOKNAME%/&lt;span class=&quot;hljs-keyword&quot;&gt;content&lt;/span&gt;.opf^
 &lt;span class=&quot;hljs-comment&quot;&gt;--cover-html cover.xhtml^&lt;/span&gt;
 &lt;span class=&quot;hljs-comment&quot;&gt;--book ch004.xhtml^&lt;/span&gt;
 &lt;span class=&quot;hljs-comment&quot;&gt;--bob ch029.xhtml&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;What's going on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;call %OPFPATCH%&lt;/code&gt; - We're calling the OPFPatcher program, using the path that we declared as a variable at the start of the script&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-i bin/%BOOKNAME%/content.opf&lt;/code&gt; - The path to our OPF file. The OPF file is what declares the contents of the Ebook, what to put in the menu, what to put in the spine etc&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--cover-html cover.xhtml&lt;/code&gt; - This is the name of the file containing our cover, which will be deleted&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--book ch004.xhtml&lt;/code&gt; - The &quot;book&quot; part of the Ebook starts here. Before this you can have the table of contents etc. This entry means that when readers first open your Ebook, they fall on the right page immediately&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--bob ch029.xhtml&lt;/code&gt; - The &quot;back of the book&quot; section starts here. This can include Acknowledgements, Thank you, etc&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a full list of the options, &lt;a href=&quot;https://damianconnolly.com/2016/08/12/opf-patcher/&quot;&gt;check out the post on the OPFPatcher&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As we're getting rid of the cover entry, we can also delete the files, making our final MOBI file smaller:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;rm bin\%BOOKNAME%\cover.xhtml
rm bin\%BOOKNAME%\media\cover.jpg&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We can now rezip the folder into an EPUB again. We'll use a temporary name for it:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;cd&lt;/span&gt; bin/&lt;span class=&quot;hljs-variable&quot;&gt;%BOOKNAME%&lt;/span&gt;
&lt;span class=&quot;hljs-variable&quot;&gt;%ZIP%&lt;/span&gt; a ../&lt;span class=&quot;hljs-variable&quot;&gt;%BOOKNAME%&lt;/span&gt;_kindle.epub * &amp;gt; &lt;span class=&quot;hljs-built_in&quot;&gt;nul&lt;/span&gt;
&lt;span class=&quot;hljs-built_in&quot;&gt;cd&lt;/span&gt; ../../&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;What's happening there is that we're zipping all of the contents of the folder to a file called &lt;em&gt;AutomateYourEbook_kindle.epub&lt;/em&gt; and outputting any messages to &lt;code&gt;nul&lt;/code&gt; (i.e. hiding them).&lt;/p&gt;
&lt;p&gt;We can now use Amazon's KindleGen program to convert the EPUB to MOBI:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;%KINDLEGEN% bin/%BOOKNAME%_kindle.epub -o %BOOKNAME%.mobi&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The &lt;code&gt;%KINDLEGEN%&lt;/code&gt; variable refers to the path that we declared at the start of the script.&lt;/p&gt;
&lt;p&gt;Finally, we can remove the unzipped folder and our modified EPUB, which we don't need anymore.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;rmdir&lt;/span&gt; bin\%BOOKNAME% &lt;span class=&quot;hljs-regexp&quot;&gt;/s /q&lt;/span&gt;
rm bin/%BOOKNAME%_kindle.epub&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We now have a MOBI file that we can use when uploading to Amazon - Amazon will combine it with the cover of the book at that point.&lt;/p&gt;
&lt;h3 id=&quot;step-5-creating-a-non-amazon-mobi&quot;&gt;Step 5: Creating a non-Amazon MOBI&lt;/h3&gt;
&lt;p&gt;We can run nearly the exact same steps again for generating a MOBI for use outside of Amazon. This can be handy if you're distributing review copies or for certain promos.&lt;/p&gt;
&lt;p&gt;There are only two differences. One is with the call to the OPFPatcher, where we specify that we want to keep the cover:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;call&lt;/span&gt; %OPFPATCH% -&lt;span class=&quot;hljs-keyword&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;hljs-keyword&quot;&gt;bin&lt;/span&gt;/%BOOKNAME%/&lt;span class=&quot;hljs-keyword&quot;&gt;content&lt;/span&gt;.opf^
 &lt;span class=&quot;hljs-comment&quot;&gt;--book ch004.xhtml^&lt;/span&gt;
 &lt;span class=&quot;hljs-comment&quot;&gt;--bob ch029.xhtml^&lt;/span&gt;
 &lt;span class=&quot;hljs-comment&quot;&gt;--keep-cover&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And the second is when we're generating the MOBI file, we specify a different name for it, in this case &lt;em&gt;AutomateYourEbook_nonAmzon.mobi&lt;/em&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;&lt;span class=&quot;xml&quot;&gt;&lt;/span&gt;&lt;span class=&quot;perl&quot;&gt;%KINDLEGEN% bin/%BOOKNAME%_kindle.epub -o %BOOKNAME%_nonAmazon.mobi&lt;/span&gt;&lt;span class=&quot;xml&quot;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;running-the-script&quot;&gt;Running the script&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2016/automate-ebook/running-script.jpg&quot; alt=&quot;Running the script&quot; width=&quot;200&quot; height=&quot;200&quot; /&gt;&lt;/p&gt;
&lt;p&gt;If you're running this for your own book, you'll need to modify the relevant parts in the script before doing anything. If you want to just run it to see the output, then you can just run it as it, and it'll produce the &lt;em&gt;Automate Your Ebook&lt;/em&gt; Ebook.&lt;/p&gt;
&lt;p&gt;To run it, we can do one of two things.&lt;/p&gt;
&lt;h3 id=&quot;running-by-double-clicking-on-it&quot;&gt;Running by double-clicking on it&lt;/h3&gt;
&lt;p&gt;The simplest solution. Simply double-click on the file. It will run the code and automatically close the window afterwards. When you're sure that everything is working, this is the way to go. If you're just getting started, then you might want to read any output before the window is closed, so go for option 2 instead.&lt;/p&gt;
&lt;p&gt;If you're on a Mac, you'll need to make the file exectuable before double-clicking on it will work. To do this, simply open a new Terminal window (hold ⌘ + Space and type &quot;Terminal&quot;, then Enter). Once opened, type &lt;code&gt;chmod +x&lt;/code&gt;, then drag the file into the Terminal window so it auto fills in the path. Make sure there's a space between the &lt;code&gt;+x&lt;/code&gt; and the path. The final command should look something like this:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;chmod +x ~/Documents/Writing/AutomateYourEbook/&lt;span class=&quot;hljs-keyword&quot;&gt;generate&lt;/span&gt;-&lt;span class=&quot;hljs-keyword&quot;&gt;mac&lt;/span&gt;.&lt;span class=&quot;hljs-keyword&quot;&gt;sh&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Hit Enter and it'll modify the file permissions so we can double-click on it.&lt;/p&gt;
&lt;h3 id=&quot;running-in-the-command-line-terminal&quot;&gt;Running in the command line/Terminal&lt;/h3&gt;
&lt;p&gt;This will let you see any potential errors or warnings - always a good thing if this is your first time doing it with a new project, as for one, it'll show you errors when generating the final MOBI file.&lt;/p&gt;
&lt;p&gt;For Windows we need to open a command terminal in the right folder. There are two simple ways to do this. One is to click in the address bar of the folder itself and type &quot;cmd&quot;. This will open a new terminal window at the right place. Otherwise we can open a new window from the Start menu. If you're on Windows 10, hit the Windows key (normally between the Fn and Alt keys) and type &quot;cmd&quot;, then Enter. On other versions of Windows, you can enter &quot;cmd&quot; in to the Run command. Once you have the window open, type &lt;code&gt;cd&lt;/code&gt;, then drag the right folder into the command window. This will copy the path (make sure there's a space between the &lt;code&gt;cd&lt;/code&gt; and the path). Hit Enter and you're there.&lt;/p&gt;
&lt;p&gt;For Mac, open a new Terminal window (hold ⌘ + Space and type &quot;Terminal&quot;, then Enter), type &lt;code&gt;cd&lt;/code&gt;, and drag the folder into the Terminal window to copy the path. Make sure there's a space between the &lt;code&gt;cd&lt;/code&gt; and the path, hit Enter, and you're there.&lt;/p&gt;
&lt;p&gt;Once in the right folder, simply type &lt;code&gt;./&lt;/code&gt; followed by the name of the script (you can start typing &quot;gen&quot;, then hit Tag to auto-complete), and hit Enter to execute it. The &lt;code&gt;./&lt;/code&gt; at the start is only to say that we're looking inside the current folder, so it's not always necessary (it generally isn't on Windows).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2016/automate-ebook/running-script-windows.png&quot; alt=&quot;Executing the script on Windows&quot; width=&quot;560&quot; height=&quot;145&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;testing-your-files&quot;&gt;Testing your files&lt;/h2&gt;
&lt;p&gt;To view your EPUB files, there are a variety of programs at your disposal. Personally I use &lt;a href=&quot;http://www.adobe.com/solutions/ebook/digital-editions.html&quot;&gt;Adobe Digital Editions&lt;/a&gt;, which have desktop, Android, and iOS versions. You can also use &lt;a href=&quot;https://calibre-ebook.com/&quot;&gt;Calibre&lt;/a&gt;, which is an Ebook management software and has the benefit of allowing you to verify that your metadata has been embedded properly.&lt;/p&gt;
&lt;p&gt;To actually see what your MOBI looks like and to make sure all the menu links are fine, you can download the &lt;a href=&quot;https://www.amazon.com/gp/feature.html?docId=1000765261&quot;&gt;Kindle Previewer&lt;/a&gt; programmer, which will let you open your MOBI file. &lt;/p&gt;
&lt;p&gt;You can also use your &lt;a href=&quot;https://www.amazon.com/gp/sendtokindle&quot;&gt;Send to Kindle&lt;/a&gt; program to actually send it to your device, which is always recommended as nothing beats the actual hardware. If you don't have a Kindle device, they also provide &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.amazon.kindle&quot;&gt;Android&lt;/a&gt; and &lt;a href=&quot;https://itunes.apple.com/us/app/kindle-read-ebooks-magazines/id302584613?mt=8&quot;&gt;iOS&lt;/a&gt; versions.&lt;/p&gt;
&lt;p&gt;PDF is the simplest of the lot, as you can use &lt;a href=&quot;https://get.adobe.com/reader/&quot;&gt;Adobe Acrobat Reader&lt;/a&gt;, which again also has Android and iOS versions, or you if you're using an up-to-date browser such as Chrome, you can simply open the PDF directly, as they now support native viewing.&lt;/p&gt;
&lt;h2 id=&quot;the-final-result&quot;&gt;The final result&lt;/h2&gt;
&lt;p&gt;There you have it! It's a lot to take in at first, but the joy of this is that once you have it done, you don't need to understand it anymore; you simply run the script every time you have a change and get your new files.&lt;/p&gt;
&lt;p&gt;To see it in action, check out the files at the end of the post. They take this very post and make it an Ebook, which shows you just how easy it is.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2016/automate-ebook/generated-files.png&quot; alt=&quot;The finished files&quot; width=&quot;480&quot; height=&quot;125&quot; /&gt;&lt;/p&gt;
&lt;p&gt;NOTE: In the download, the script will be named with a &lt;em&gt;.txt&lt;/em&gt; file extension. You'll need to change this to &lt;em&gt;.bat&lt;/em&gt; (Windows) or &lt;em&gt;.sh&lt;/em&gt; (Mac) to actually run it. The reason for this is that some browsers will block a zip download if there's an executable file inside.&lt;/p&gt;
&lt;p&gt;Of course, if you've any questions, then please, &lt;a href=&quot;#&quot; class=&quot;contact-link&quot;&gt;get in touch&lt;/a&gt;!&lt;/p&gt;
&lt;div class=&quot;share-box&quot;&gt;
    &lt;h3 id=&quot;share&quot;&gt;Share this&lt;/h3&gt;
    &lt;a href=&quot;https://twitter.com/intent/tweet?hashtags=writing,OSFARG&amp;original_referer=https%3A%2F%2Fdamianconnolly.com%2F2016%2F08%2F19%2Fautomating-your-ebook-builds%2F&amp;text=Automating+your+%23Ebook+-+%23EPUB+%23PDF+%23MOBI&amp;url=https%3A%2F%2Fdamianconnolly.com%2F2016%2F08%2F19%2Fautomating-your-ebook-builds%2F&amp;via=divillysausages&quot; class=&quot;twitter-share-btn&quot; title=&quot;Tweet on Twitter&quot; target=&quot;_blank&quot;&gt;Tweet&lt;/a&gt;
    &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdamianconnolly.com%2F2016%2F08%2F19%2Fautomating-your-ebook-builds%2F&quot; class=&quot;fb-share-btn&quot; title=&quot;Share on Facebook&quot; target=&quot;_blank&quot;&gt;Share&lt;/a&gt;
&lt;/div&gt;


&lt;div class=&quot;flex-container content-upgrade raised-corners&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/2016/automate-ebook/content-upgrade.jpg&quot; alt=&quot;Get all the code to make this work&quot; class=&quot;flex-image&quot; /&gt;
    &lt;div class=&quot;flex-cell&quot;&gt;
        &lt;h2 class=&quot;flex-header&quot;&gt;Get the scripts and example files&lt;/h2&gt;
        &lt;p class=&quot;content-upgrade-body&quot;&gt;Scripts for PC and Mac, as well as a full example of this in action&lt;/p&gt;
        &lt;a href=&quot;https://damianconnolly.com/files/2016/automate-ebook/automate-ebook.zip&quot; class=&quot;form-button&quot;&gt;Download&lt;/a&gt;
    &lt;/div&gt;
&lt;/div&gt;</description>
		<pubDate>Fri, 19 Aug 2016 16:31:00 +0200</pubDate>
		<link>https://damianconnolly.com/2016/08/19/automating-your-ebook-builds/</link>
		<guid isPermaLink="true">https://damianconnolly.com/2016/08/19/automating-your-ebook-builds/</guid>
		</item>
	
		<item>
		<title>OPF Patcher</title>
		<description>&lt;p&gt;Do you know what's great? Automating things. When I was writing &lt;a href=&quot;https://damianconnolly.com/books/shepherds_awakening/&quot;&gt;Shepherds&lt;/a&gt;, one of the things I wanted to get sorted was automating the whole build process, so that if I made a change, I could build PDF, EPUB, and MOBI files without tinkering with all the bits in between. I'll talk about that whole process in the next blog post.&lt;/p&gt;
&lt;p&gt;This one is a specific step in that process; patching the OPF file.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2016/opf-patcher/icon.png&quot; alt=&quot;The OPF patcher icon&quot; width=&quot;145&quot; height=&quot;200&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;why-is-this-a-thing-&quot;&gt;Why is this a thing?&lt;/h2&gt;
&lt;p&gt;Most of the gruntwork was handled by the amazing &lt;a href=&quot;http://pandoc.org/&quot;&gt;Pandoc&lt;/a&gt;, which if you don't know it, allows you to convert pretty much any type of document into any other type of document.&lt;/p&gt;
&lt;p&gt;The plan was to take the EPUB generated by Pandoc, run it through &lt;a href=&quot;https://www.amazon.com/gp/feature.html?docId=1000765211&quot;&gt;KindleGen&lt;/a&gt; and have a functioning MOBI file.&lt;/p&gt;
&lt;p&gt;That said, the prevailing advice from Amazon right now is to upload your MOBI and cover separately and they'll combine it into the final product. I was having problems getting the &lt;em&gt;Cover&lt;/em&gt; link working in Kindle for Android (it did work on other devices though), so I assumed this was the problem.&lt;/p&gt;
&lt;p&gt;If you've ever generated a MOBI by hand, then you'll know that the cover is declared in the OPF file along with the other assets that make up the file.&lt;/p&gt;
&lt;p&gt;An EPUB is a glorified zip file, which meant I could unzip the contents, modify the OPF, then rezip and use that modified EPUB to generate my MOBI. That said, I'm not really bothered doing this every time - as I said, I'm all for automating the boring crap.&lt;/p&gt;
&lt;p&gt;Enter &lt;a href=&quot;https://nodejs.org/en/&quot;&gt;Node&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Node is essentially a JavaScript runtime that's mostly used for building online services, though it can be used offline. I've recently discovered a love for building quick tools in JavaScript as it's a great hacking language, so I set up to build &lt;a href=&quot;https://bitbucket.org/divillysausages/opfpatcher&quot;&gt;OPFPatcher&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;so-what-can-it-do-&quot;&gt;So what can it do?&lt;/h2&gt;
&lt;p&gt;OPFPatcher can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Optionally remove the cover declaration. I left this optional (default is yes), as you might want to distribute MOBI files outside of Amazon, in which case you'll want a cover&lt;/li&gt;
&lt;li&gt;Optionally add a link for the start of the book so that when readers first open, it starts in the right area&lt;/li&gt;
&lt;li&gt;Optionally add a link for the dedication section&lt;/li&gt;
&lt;li&gt;Optionally add a link for the acknowledgements section&lt;/li&gt;
&lt;li&gt;Optionally add a link for the back-of-the-book section&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All the extras come from having a quick look at what Kindle supports. They add extra sections in the menu allowing readers to jump to a few parts of your book. Having the Kindle open your file at the start of the book is also pretty useful if you've a few miscellaneous sections at the start of your book.&lt;/p&gt;
&lt;h2 id=&quot;how-can-i-use-it-&quot;&gt;How can I use it?&lt;/h2&gt;
&lt;p&gt;All interaction is via the command line, so you'll need to be familiar with a terminal or not afraid to learn (trust me, once you start seeing what you can do with it, you'll want to automate &lt;em&gt;everything&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Once &lt;a href=&quot;https://bitbucket.org/divillysausages/opfpatcher&quot;&gt;downloaded&lt;/a&gt;, there are two ways you can use it:&lt;/p&gt;
&lt;h3 id=&quot;use-a-pre-built-exe&quot;&gt;Use a pre-built exe&lt;/h3&gt;
&lt;p&gt;Inside the &lt;code&gt;bin&lt;/code&gt; folder you'll find pre-build exes for a few target platforms (Mac and Linux are on hold until I can get my hands on a machine again). Simply target the exe in your batch/command prompt and you're good to go (examples below).&lt;/p&gt;
&lt;h3 id=&quot;work-from-source&quot;&gt;Work from source&lt;/h3&gt;
&lt;p&gt;You'll need &lt;a href=&quot;https://nodejs.org/en/&quot;&gt;Node&lt;/a&gt; installed, obvs. Then go to the folder where you've downloaded the source, open a command prompt and type:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;npm &lt;span class=&quot;hljs-keyword&quot;&gt;install&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you'd like to be able to use it from anywhere, then use:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;npm &lt;span class=&quot;hljs-keyword&quot;&gt;install&lt;/span&gt; -&lt;span class=&quot;hljs-keyword&quot;&gt;g&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You can then call it using the &lt;code&gt;opfpatch&lt;/code&gt; command.&lt;/p&gt;
&lt;h2 id=&quot;examples&quot;&gt;Examples&lt;/h2&gt;
&lt;p&gt;Type &lt;code&gt;opfpatch --help&lt;/code&gt; (or &lt;code&gt;PATH_TO_EXE/OPFPatcher-win-64.exe --help&lt;/code&gt;) to get a full list of the commands and what they do.&lt;/p&gt;
&lt;p&gt;To simply remove the cover and nothing else:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;opfpatch -&lt;span class=&quot;hljs-selector-tag&quot;&gt;i&lt;/span&gt; PATH_TO_OPF&lt;span class=&quot;hljs-selector-class&quot;&gt;.opf&lt;/span&gt; --cover-&lt;span class=&quot;hljs-selector-tag&quot;&gt;html&lt;/span&gt; my-super-cover.xhtml&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you don't know the name of the cover html file, you can find it by unzipping the EPUB. Generally I do this so I can see where are the sections are mapped to, so I can add them to the OPF.&lt;/p&gt;
&lt;p&gt;To leave the cover, but add the start of the book as an entry in the guide:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;opfpatch -&lt;span class=&quot;hljs-selector-tag&quot;&gt;i&lt;/span&gt; PATH_TO_OPF&lt;span class=&quot;hljs-selector-class&quot;&gt;.opf&lt;/span&gt; --book book&lt;span class=&quot;hljs-selector-class&quot;&gt;.xhtml&lt;/span&gt; --book-title &lt;span class=&quot;hljs-string&quot;&gt;&quot;Start of book&quot;&lt;/span&gt; --keep-cover&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Here &lt;code&gt;--book&lt;/code&gt; specifies the file that holds the start of the book. You can also use anchors if necessary: &lt;code&gt;--book bigfile.xhtml#start&lt;/code&gt;. &lt;code&gt;--book-title&lt;/code&gt; is the title to use for the menu.&lt;/p&gt;
&lt;p&gt;A full example, which removes the cover, and adds start-of-book, dedication, acknowledgement, and back-of-book sections (e.g. a build for Amazon):&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;hljs&quot;&gt;opfpatch -&lt;span class=&quot;hljs-selector-tag&quot;&gt;i&lt;/span&gt; PATH_TO_OPF&lt;span class=&quot;hljs-selector-class&quot;&gt;.opf&lt;/span&gt; --book book&lt;span class=&quot;hljs-selector-class&quot;&gt;.xhtml&lt;/span&gt; --book-title &lt;span class=&quot;hljs-string&quot;&gt;&quot;Book&quot;&lt;/span&gt; --ded ded&lt;span class=&quot;hljs-selector-class&quot;&gt;.xhtml&lt;/span&gt; --ded-title &lt;span class=&quot;hljs-string&quot;&gt;&quot;Dedications&quot;&lt;/span&gt; --ack ack&lt;span class=&quot;hljs-selector-class&quot;&gt;.xhtml&lt;/span&gt; --ack-title &lt;span class=&quot;hljs-string&quot;&gt;&quot;Acknowledgements&quot;&lt;/span&gt; --bob bob&lt;span class=&quot;hljs-selector-class&quot;&gt;.xhtml&lt;/span&gt; --bob-title &lt;span class=&quot;hljs-string&quot;&gt;&quot;About the author&quot;&lt;/span&gt; --cover-&lt;span class=&quot;hljs-selector-tag&quot;&gt;html&lt;/span&gt; my-super-cover.xhtml&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Any questions, &lt;a href=&quot;#&quot; class=&quot;contact-link&quot;&gt;get in touch&lt;/a&gt;!&lt;/p&gt;
&lt;div class=&quot;share-box&quot;&gt;
    &lt;h3 id=&quot;share&quot;&gt;Share this&lt;/h3&gt;
    &lt;a href=&quot;https://twitter.com/intent/tweet?hashtags=writing,FARG&amp;original_referer=https%3A%2F%2Fdamianconnolly.com%2F2016%2F08%2F12%2Fopf-patcher%2F&amp;text=Automating+patching+%23EPUB+%23OPF+files+for+%23MOBI&amp;url=https%3A%2F%2Fdamianconnolly.com%2F2016%2F08%2F12%2Fopf-patcher%2F&amp;via=divillysausages&quot; class=&quot;twitter-share-btn&quot; title=&quot;Tweet on Twitter&quot; target=&quot;_blank&quot;&gt;Tweet&lt;/a&gt;
    &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdamianconnolly.com%2F2016%2F08%2F12%2Fopf-patcher%2F&quot; class=&quot;fb-share-btn&quot; title=&quot;Share on Facebook&quot; target=&quot;_blank&quot;&gt;Share&lt;/a&gt;
&lt;/div&gt;


&lt;div class=&quot;flex-container content-upgrade raised-corners&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/2016/opf-patcher/content-upgrade.png&quot; alt=&quot;Get all the code to make this work&quot; class=&quot;flex-image&quot; /&gt;
    &lt;div class=&quot;flex-cell&quot;&gt;
        &lt;h2 class=&quot;flex-header&quot;&gt;Find all the code and executables on Bitbucket&lt;/h2&gt;
        &lt;p class=&quot;content-upgrade-body&quot;&gt;You can download the pre-built exes or the entire codebase if you want to tinker with the internals&lt;/p&gt;
        &lt;a href=&quot;https://bitbucket.org/divillysausages/opfpatcher&quot; class=&quot;form-button&quot;&gt;Download&lt;/a&gt;
    &lt;/div&gt;
&lt;/div&gt;</description>
		<pubDate>Fri, 12 Aug 2016 18:29:00 +0200</pubDate>
		<link>https://damianconnolly.com/2016/08/12/opf-patcher/</link>
		<guid isPermaLink="true">https://damianconnolly.com/2016/08/12/opf-patcher/</guid>
		</item>
	
		<item>
		<title>Dealing with double signups on MailChimp</title>
		<description>&lt;p&gt;&lt;a href=&quot;http://mailchimp.com/&quot;&gt;MailChimp&lt;/a&gt; is great. If you need to have an email list for whatever reason, its features and ease of use make it a no-brainer. It's also free for up to 2000 subscribers, so its even better when you're starting out and every penny counts.&lt;/p&gt;
&lt;p&gt;One of the downsides of MailChimp is that, while it's great for sending emails and creating a list of subscribers, it's not really made for &lt;em&gt;managing&lt;/em&gt; subscribers. &lt;/p&gt;
&lt;p&gt;Ever put your email into a site and get faced with something like this?&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2016/mc-double-signup/error.jpg&quot; alt=&quot;The error presented when you're already subscribed to a list&quot; width=&quot;500&quot; height=&quot;150&quot; /&gt;&lt;/p&gt;
&lt;p&gt;While it's not actually an error, it doesn't look good. It's hard enough trying to get people to signup to your list without making them feel bad when they do it.&lt;/p&gt;
&lt;p&gt;Or perhaps you're giving users an incentive for signing up. Multiple incentives mean multiple signups, and each time someone tries to access what you're giving them, they're getting a big, red error in the face.&lt;/p&gt;
&lt;h2 id=&quot;enter-the-api&quot;&gt;Enter the API&lt;/h2&gt;
&lt;p&gt;MailChimp, like all awesome web companies, &lt;a href=&quot;http://developer.mailchimp.com/documentation/mailchimp/&quot;&gt;provide an API&lt;/a&gt; so that if you feel the need, you can get down and dirty and tinker with the innards, getting the flow that you're looking for.&lt;/p&gt;
&lt;p&gt;The MailChimp API is really powerful, giving you full access over pretty much everything possible (I haven't gone all the way through it, so give me the benefit of the doubt here). If you wanted to, you could make your own signup flow, from start to finish, meaning users would never have to leave your site at all.&lt;/p&gt;
&lt;p&gt;But there's no need for all that, we just need to know if someone's already on your list.&lt;/p&gt;
&lt;h2 id=&quot;the-flow&quot;&gt;The flow&lt;/h2&gt;
&lt;p&gt;For this to work, we're using the assumption that you can redirect the user to the content in question if they're already signed up. Of course, you could probably just trigger an email to be sent with the content, but this post doesn't cover that.&lt;/p&gt;
&lt;p&gt;The previous signup flow was something like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;User enters details and submits form&lt;/li&gt;
&lt;li&gt;MailChimp page opens&lt;/li&gt;
&lt;li&gt;If they haven't signed up, then they see the message to check their email, otherwise they get the error above&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Our new flow:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;User enters details and submits form&lt;/li&gt;
&lt;li&gt;We stall the form submission and query the MailChimp API to see if the user is already signed up&lt;/li&gt;
&lt;li&gt;If yes, we redirect them to the content, if no, we submit the form as normal&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As an added bonus, we can also return their &lt;em&gt;status&lt;/em&gt; - if they're a confirmed subscriber or if they still have to confirm their email. In the latter case we can show them up a message telling them so. In the code, I've chosen to allow them access to the content anyway, but you can change that if you wish.&lt;/p&gt;
&lt;h2 id=&quot;popup-blockers&quot;&gt;Popup blockers&lt;/h2&gt;
&lt;p&gt;The only snag to the above plan, is popup blockers. If you're not technically minded, or you don't care, then you can skip the rest of this section.&lt;/p&gt;
&lt;p&gt;Basically when the form is submitted, by default we have it open a new tab/window. This is allowed because a form submission (with a click) is a trusted event. Trying to open a window from outside of a click, or trusted event, means that you'll almost certainly get blocked by your browser's popup blocker. &lt;/p&gt;
&lt;p&gt;So why is this a problem?&lt;/p&gt;
&lt;p&gt;Because checking with the API to see if a user is already signed up takes time. Which means by the time we get the answer back, we're no longer in the click event, and so when we submit the form, it'll get blocked.&lt;/p&gt;
&lt;p&gt;Not good.&lt;/p&gt;
&lt;p&gt;We could have the form submit on the same page, but this brings the user away from our site, and is pretty sucky UX.&lt;/p&gt;
&lt;p&gt;So our new flow goes like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;User enters details and submits form&lt;/li&gt;
&lt;li&gt;We stall form submission, and immediately open an intermediate page. As we're in a trusted event, this doesn't trigger the popup blocker&lt;/li&gt;
&lt;li&gt;On this new page is another, hidden, form, and a message telling the user that we're doing some work. &lt;/li&gt;
&lt;li&gt;We fill the hidden form on page2 with our data from page1&lt;/li&gt;
&lt;li&gt;Query the MailChimp API to see if the user is already signed up&lt;/li&gt;
&lt;li&gt;If yes, then we simply redirect page2 to the content. If no, then we submit the &lt;strong&gt;hidden&lt;/strong&gt; form on page2, this time setting it to submit on the same page&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It's a little more complicated, but I'd rather complicate the process a bit to get a better user flow.&lt;/p&gt;
&lt;h2 id=&quot;the-code&quot;&gt;The code&lt;/h2&gt;
&lt;p&gt;You'll find everything you need as a proof of concept attached at the end of the post. The grunt work is in the PHP and JS files.&lt;/p&gt;
&lt;p&gt;To make this work, you'll need a few bits of info:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The data center where your MailChimp account is hosted (normally something like &lt;code&gt;us1&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;The ID for the list that the signup is for&lt;/li&gt;
&lt;li&gt;An API key&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To get your API key, log into MailChimp, click on your image in the top right, and go to &lt;em&gt;Account&lt;/em&gt;. Click on the &lt;em&gt;Extras&lt;/em&gt; dropdown, then &lt;em&gt;API keys&lt;/em&gt;. Then, simply click &lt;em&gt;Create A Key&lt;/em&gt; to get your API key.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;NB! Do NOT give your key to anyone! This keys gives full access to your lists, meaning that someone can add/remove or delete the entire thing. Keep it safe at all times!&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Once you have your API key, the last 3 characters are also your data center.&lt;/p&gt;
&lt;p&gt;To get your list ID, simply go to the list in question, then click on the &lt;em&gt;Settings&lt;/em&gt; dropdown and go to &lt;em&gt;List name and defaults&lt;/em&gt;. There, in red, on the right hand side, under List ID is the ID that you want.&lt;/p&gt;
&lt;p&gt;Fill these in the PHP file.&lt;/p&gt;
&lt;p&gt;You'll also need to update the forms so that they match the forms for your particular list. You can get the relevant info from your &lt;em&gt;List &amp;gt; Signup forms &amp;gt; Embedded forms&lt;/em&gt; and copying the relevant parts from the embed code provided.&lt;/p&gt;
&lt;p&gt;There's a README in the zip file with more details, but if you've any questions, &lt;a href=&quot;#&quot; class=&quot;contact-link&quot;&gt;get in touch&lt;/a&gt;!&lt;/p&gt;
&lt;div class=&quot;share-box&quot;&gt;
    &lt;h3 id=&quot;share&quot;&gt;Share this&lt;/h3&gt;
    &lt;a href=&quot;https://twitter.com/intent/tweet?hashtags=writing,FARG&amp;original_referer=https%3A%2F%2Fdamianconnolly.com%2F2016%2F08%2F10%2Fdealing-with-double-signups-on-mailchimp%2F&amp;text=Dealing+with+double+signups+on+%23MailChimp&amp;url=https%3A%2F%2Fdamianconnolly.com%2F2016%2F08%2F10%2Fdealing-with-double-signups-on-mailchimp%2F&amp;via=divillysausages&quot; class=&quot;twitter-share-btn&quot; title=&quot;Tweet on Twitter&quot; target=&quot;_blank&quot;&gt;Tweet&lt;/a&gt;
    &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdamianconnolly.com%2F2016%2F08%2F10%2Fdealing-with-double-signups-on-mailchimp%2F&quot; class=&quot;fb-share-btn&quot; title=&quot;Share on Facebook&quot; target=&quot;_blank&quot;&gt;Share&lt;/a&gt;
&lt;/div&gt;


&lt;div class=&quot;flex-container content-upgrade raised-corners&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/2016/mc-double-signup/content-upgrade.jpg&quot; alt=&quot;Get all the code to make this work&quot; class=&quot;flex-image&quot; /&gt;
    &lt;div class=&quot;flex-cell&quot;&gt;
        &lt;h2 class=&quot;flex-header&quot;&gt;Get all the code necessary to make this work&lt;/h2&gt;
        &lt;p class=&quot;content-upgrade-body&quot;&gt;HTML, CSS, JS, and PHP are waiting for you. Everything you need to never get a double-signup error again&lt;/p&gt;
        &lt;a href=&quot;https://damianconnolly.com/files/2016/mc-double-signup/mc-double-signup.zip&quot; class=&quot;form-button&quot;&gt;Download&lt;/a&gt;
    &lt;/div&gt;
&lt;/div&gt;</description>
		<pubDate>Wed, 10 Aug 2016 17:54:00 +0200</pubDate>
		<link>https://damianconnolly.com/2016/08/10/dealing-with-double-signups-on-mailchimp/</link>
		<guid isPermaLink="true">https://damianconnolly.com/2016/08/10/dealing-with-double-signups-on-mailchimp/</guid>
		</item>
	
		<item>
		<title>14 things you should know before you release your first book</title>
		<description>&lt;p&gt;I released my first book, &lt;a href=&quot;https://damianconnolly.com/books/shepherds_awakening/&quot;&gt;Shepherds: Awakening&lt;/a&gt; on Amazon Kindle and paperback just over one month ago, and the last 30 days or so have been pretty hectic in learning everything that goes along with releasing and marketing a book. &lt;/p&gt;
&lt;p&gt;And I still only feel like I've gotten my fingertips wet.&lt;/p&gt;
&lt;p&gt;So you don't make the same mistakes that I made, here's a big ole list of Things I Wish I Knew Before Starting.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/2016/14-things/twitterOG.jpg&quot; alt=&quot;14 things you should know before you release your first book&quot; width=&quot;600&quot; height=&quot;321&quot; /&gt;&lt;/p&gt;
&lt;h2 id=&quot;1-get-an-email-list-set-up&quot;&gt;1: Get an email list set up&lt;/h2&gt;
&lt;p&gt;Marketing books is &lt;em&gt;hard&lt;/em&gt;. Even though it's never been easier to produce and release a book, the biggest problem you will face as an author, by far, is &lt;em&gt;discoverability&lt;/em&gt;. There's a huge amount of choice out there, and as an unknown, your chances of standing out are slim. The vast majority of sales happen on the first page of the bestsellers list, so if you can't get there, then it's incredibly hard for your book to take off with a wider audience.&lt;/p&gt;
&lt;p&gt;So how do you get on the first page?&lt;/p&gt;
&lt;p&gt;You have an email list of readers that you can contact directly before, during, and after your launch. This group of readers are your most important fans. These people are your launch team; the people that will get your book when it's released - driving it up the charts - and providing those crucial early reviews.&lt;/p&gt;
&lt;p&gt;If you don't have an email list already, then stop whatever you're doing and start building on immediately. Sign up to &lt;a href=&quot;http://mailchimp.com/&quot;&gt;MailChimp&lt;/a&gt; and they'll give you all the code necessary to put a form on your site. Every day that goes by without you doing this is a wasted opportunity.&lt;/p&gt;
&lt;p&gt;How do you get people to sign up? Offer them something that they want, such as a pre-release copy of your book. Or &lt;em&gt;all&lt;/em&gt; your books. Whatever it takes.&lt;/p&gt;
&lt;p&gt;I was an idiot, as I didn't tell anyone that I was writing a book until it was finished, so my subscribers amounted to a big fat zero when I was entering into the most crucial part of my pre-release. By the time the book was edited, the cover was designed, and I was ready to pull the trigger, I was hovering around the 100 mark.&lt;/p&gt;
&lt;p&gt;With each book release your list will grow, meaning that subsequent releases will get easier and be more successful, but only if you get started &lt;em&gt;now&lt;/em&gt;.&lt;/p&gt;
&lt;div class=&quot;flex-container content-upgrade raised-corners&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/2016/14-things/content-upgrade.jpg&quot; alt=&quot;Get this article as a PDF action list&quot; class=&quot;flex-image&quot; /&gt;
    &lt;div class=&quot;flex-cell&quot;&gt;
        &lt;h2 class=&quot;flex-header&quot;&gt;Download this article as an action list&lt;/h2&gt;
        &lt;p class=&quot;content-upgrade-body&quot;&gt;Each point has been condensed to the essential and comes with a box to check off when you've taken care of it, so you don't forget a thing.&lt;/p&gt;
        &lt;a href=&quot;https://damianconnolly.com/files/2016/14-things/14-things-action-list.pdf&quot; class=&quot;form-button&quot;&gt;Download&lt;/a&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&quot;2-don-t-be-a-recluse&quot;&gt;2: Don't be a recluse&lt;/h2&gt;
&lt;p&gt;When you're writing your book, &lt;em&gt;tell people&lt;/em&gt;. Tell everyone you know. Share your progress, successes, and failures. &lt;/p&gt;
&lt;p&gt;Again, because I'm an idiot, I didn't do this until the end, partly because I didn't want to tell people then end up not following through, partly because I was wary of the reaction. &lt;/p&gt;
&lt;p&gt;But the thing is, people are &lt;em&gt;incredibly&lt;/em&gt; supportive. I was genuinely surprised and touched by the feedback and messages of family and friends. I should have done it sooner, as the feedback loop with every post pushed me further and further.&lt;/p&gt;
&lt;p&gt;Think about what you're doing for a minute; you're &lt;em&gt;writing a book&lt;/em&gt;. You're dedicating time every day to create a living, believeable world that will entertain people, capture their imagination, and make them laugh, cry, and &lt;em&gt;feel&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;When people see someone they know go out on a limb to offer something to the public, there's a shared sense of delight and congratulations.&lt;/p&gt;
&lt;p&gt;So go tell people, share your progress, and as an added bonus get those early fans that will provide your foundation.&lt;/p&gt;
&lt;h2 id=&quot;3-have-a-budget&quot;&gt;3: Have a budget&lt;/h2&gt;
&lt;p&gt;While it's possible to do everything yourself, you're going to get much better results if you're able and willing to put some money behind what you're doing.&lt;/p&gt;
&lt;p&gt;As it's a finite resource that I'm sure you'd like to hold on to as much as possible, it's a good idea to know how much you're willing to spend and where you're willing to spend it.&lt;/p&gt;
&lt;p&gt;My current thinking, in order of preference:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A kickass cover that will make people want to buy your book&lt;/li&gt;
&lt;li&gt;Promotion - whether buying book promos or paying for ads&lt;/li&gt;
&lt;li&gt;Hiring a professional editor to make sure your book is up to scratch&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Your cover needs to grab people's attention and make them want to buy your book, or read further. There's a ton of different resources out there to help you, from super cheap at &lt;a href=&quot;https://www.fiverr.com/&quot;&gt;Fiverr&lt;/a&gt;, to professionals on &lt;a href=&quot;https://www.upwork.com/&quot;&gt;Upwork&lt;/a&gt; or &lt;a href=&quot;https://99designs.com/&quot;&gt;99designs&lt;/a&gt;, or even the cover creator on the Amazon website itself when you upload your book, but whatever you do, this is the single biggest thing you can do to market your book. A good cover is worth its weight in gold (once someone figures out how to convert MB to Kg).&lt;/p&gt;
&lt;p&gt;For promotions, this can range from buying slots when your book is released on various promo sites, to buying Facebook ads targeting your prospective audience. This point can easily chew through your credit card though, so it's best to set yourself a maximum budget. Even &euro;100 can make a huge difference if it's spent right. Note: some promos are worth it, while others are a waste of your time and money. I'm part of the &lt;a href=&quot;https://www.facebook.com/groups/239838636360276/&quot;&gt;Fiction Authors' Resource Group&lt;/a&gt; on Facebook (&lt;a href=&quot;https://twitter.com/hashtag/FARG&quot;&gt;#FARG&lt;/a&gt; on Twitter), which is a very active group of authors. They'll be able to give you the lowdown on where you should be spending your precious budget.&lt;/p&gt;
&lt;p&gt;Finally, get yourself an editor, someone to read over your book and point out everything from spelling mistakes, to continuity problems, to your main character's name changing halfway through the story (hello!). Shepherds was edited by &lt;a href=&quot;https://twitter.com/pagemorganbooks&quot;&gt;Page Morgan&lt;/a&gt;, herself an author, and she did a great job. Aside from making the book better, it was a great learning experience. You can find great editors on &lt;a href=&quot;https://www.upwork.com/&quot;&gt;Upwork&lt;/a&gt; for either a fixed budget or on a per-hour basis - I had over 90 respond to my posting.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&quot;Hey, shouldn't hiring an editor come before buying promos?&quot;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Maybe.&lt;/p&gt;
&lt;p&gt;The thing is, having the best book in the world is no use if no-one's buying it, which is why I think promos are more important that editing, at least when you're starting out.&lt;/p&gt;
&lt;p&gt;Hard truth time: you're probably not going to make any money on your first book. Maybe not even on your second, or third. Even the &lt;a href=&quot;https://www.theguardian.com/books/2016/jun/02/adam-croft-self-published-her-last-tomorow-story&quot;&gt;most successful indie authors&lt;/a&gt; can take multiple books before they &quot;make it&quot;. Your budget needs to be money that you don't mind potentially never making back, so spend it wisely, and build on your successes for the next one.&lt;/p&gt;
&lt;h2 id=&quot;4-watch-out-for-lead-times-for-promos-and-reviews&quot;&gt;4: Watch out for lead times for promos and reviews&lt;/h2&gt;
&lt;p&gt;Every 90 days, Kindle lets you set your book for free for 5 days, so a good release tactic is to release it for free at the start to bulid up a reader base and get reviews, before switching to paid when it's nice and high in the free charts.&lt;/p&gt;
&lt;p&gt;To this end, you'll probably want to queue up promos for those days when you're free.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;All the best promos sites will be booked out for days, sometimes weeks in advance.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If you're like me and want to book them the day before your free promo starts, this is a problem.&lt;/p&gt;
&lt;p&gt;Research each site and figure out what their lead time is. Then, based on that, you can schedule promos for specific days during your free period. Amazon rewards consistent, increasing sales over a big blast on one day, so spread them out.&lt;/p&gt;
&lt;p&gt;The same goes for reviews. If you want your launch to come ready-made with editorial reviews, then depending on the publication, you may need to submit it anywhere up to 4 or 5 weeks before publishing.&lt;/p&gt;
&lt;p&gt;Delays suck :)&lt;/p&gt;
&lt;h2 id=&quot;5-get-your-facebook-fan-page-set-up&quot;&gt;5: Get your Facebook fan page set up&lt;/h2&gt;
&lt;p&gt;Do this around the same time that you set up your email sign-up list, so you can direct people to both.&lt;/p&gt;
&lt;p&gt;This was one thing that I &lt;em&gt;really&lt;/em&gt; didn't want to do, as I'm not a huge fan of Facebook pages in general and I didn't want one more thing to have to organise and keep up to date.&lt;/p&gt;
&lt;p&gt;So what changed?&lt;/p&gt;
&lt;p&gt;Facebook ads.&lt;/p&gt;
&lt;p&gt;See, when you want to run an ad on Facebook, if you're not associating it with a page, the only place you can advertise is on the right column on the desktop.&lt;/p&gt;
&lt;p&gt;Which is absolutely worthless.&lt;/p&gt;
&lt;p&gt;Seriously, I tried it. I got 1 - yes, that's not a typo - click on my ad the entire time it was running.&lt;/p&gt;
&lt;p&gt;So I bit the bullet and set my page up. Which now leaves you with an interesting problem. Not having any followers on your page makes it look like you're Billy No-Mates, which has the &lt;em&gt;opposite&lt;/em&gt; effect, as people are generally inclined to follow the crowd, and seeing an author with 2 likes on their page (Facebook actually tells you to like your own page when you create it - the second one will be your mother) equates to an author that's not very good.&lt;/p&gt;
&lt;p&gt;So get your page set up and get people liking it, so when the time comes to run ads (and Facebook ads are probably the best type of ads you can run), it looks like you've got a bit of a following, so people are more likely to respond.&lt;/p&gt;
&lt;h2 id=&quot;6-have-ad-templates-images-that-are-easily-resizeable&quot;&gt;6: Have ad templates/images that are easily resizeable&lt;/h2&gt;
&lt;p&gt;Your ads are going to naturally evolve over time as you win rewards, or get a nice review that would make a good pull quote, or even as you branch out across platforms (Twitter ads &lt;em&gt;trounce&lt;/em&gt; Facebook ads in terms of exposure, but have less engagement), being able to quickly modify and upload new images can save you a lot of time in the long run.&lt;/p&gt;
&lt;p&gt;I personally use Photoshop, but there are a number of programs out there that let you create graphics easily, but to simplify your life:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Keep a list of the relevant ads sizes so you're not looking them up all the time (e.g. Facebook is 1200x628)&lt;/li&gt;
&lt;li&gt;Keep your layers separated so you can easily swap backgrounds etc (it also allows you to use the elements separately on your book page)&lt;/li&gt;
&lt;li&gt;Use high-quality images and downscale - never upscale, otherwise your image will look like crud&lt;/li&gt;
&lt;li&gt;The goal is to entice people to click your ad, so make sure it's interesting&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also, remember, you probably won't hit on the perfect ad the first time, so don't be afraid to experiment and test. Facebook will automatically A/B different ads in the same adset to find the most effective one, so &lt;em&gt;use it&lt;/em&gt;. Tweak, run for a day, disable what's not working, and repeat. Eventually you'll hit on an ad that gives you the best return.&lt;/p&gt;
&lt;h2 id=&quot;7-have-a-stealth-period&quot;&gt;7: Have a stealth period&lt;/h2&gt;
&lt;p&gt;As soon as your book is live, &lt;em&gt;say nothing&lt;/em&gt;. This is the start of your stealth period. This is where you get a few of your early readers to leave their reviews. This serves two purposes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Some promos require a minimum number of reviews (usually 5) with a good rating (usually above 4.0)&lt;/li&gt;
&lt;li&gt;When people come to your page during your official launch period, they'll already see social proof of how good you are with the reviews currently on the page, making them more likely to actually get your book&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The stealth period also allows you time to fix any potential issues that you have with your book, such as formatting, the cover not linking properly, or your categories not being right.&lt;/p&gt;
&lt;p&gt;Don't have your stealth period last too long though, as for the first month, you have the chance to be featured in Amazon's &lt;em&gt;Hot New Releases&lt;/em&gt; section if your book does well. Aim for a few days at most.&lt;/p&gt;
&lt;h2 id=&quot;8-understand-the-importance-of-reviews&quot;&gt;8: Understand the importance of reviews&lt;/h2&gt;
&lt;p&gt;Aside from sales, reviews are probably the biggest factor that Amazon takes into account when determining whether to push a book or not. Nobody understands the importance of reviews until you have a book that you want to sell :)&lt;/p&gt;
&lt;p&gt;There are two types of reviews: verified and unverified. Verified reviews come from readers that have bought the book (getting it when it's free counts as having &quot;bought&quot; it), while unverified are all the rest. Only verified reviews count when it comes to Amazon's algorithms, but unverified are still useful in terms of making your look popular.&lt;/p&gt;
&lt;p&gt;So why are they important?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Social proof:&lt;/strong&gt; Books with large numbers of reviews look popular, which, as logic goes, is pretty airtight. Even if the book itself is a turd, people will get it because, hey, 10,000 people can't be wrong, right? Inversely, a book with few or no reviews isn't worth getting. Talk about a catch 22. Interestingly it's not even the quality of the reviews that count, but the &lt;em&gt;number&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Promos:&lt;/strong&gt; Some promos require a minimum number of reviews and average review score before you can book it. As you'll be doing this mostly around your launch, that makes your initial reviews &lt;em&gt;incredibly&lt;/em&gt; important. Other sites, like &lt;a href=&quot;https://www.bookbub.com/&quot;&gt;BookBub&lt;/a&gt;, take them into consideration when it comes to selecting what to showcase. While you might not necessarily need a specific number, if it comes down to a book with 10 reviews, and one with a few hundred, you're not getting chosen&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Getting the Amazon boost:&lt;/strong&gt; No amount of promotion and ad spend is going to compete with the beast that is Amazon when they decide to push your book. A large amount of positive, verified reviews is the key. Some say the magic happens around 50, others say 100&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Actually &lt;em&gt;getting&lt;/em&gt; reviews is almost as hard as getting people to buy your book. You're probably looking at about 1% or 0.1% of people that buy it leaving a review when they finish it.&lt;/p&gt;
&lt;p&gt;For some, they don't have the time (or haven't actually read it - it happens), for others, they don't see them as important, for others still, they don't know what to write - let's face it, it's hard to write a review on something if you're not used to it. People can also be slightly wary of writing something if they know the author - perhaps they don't like it and don't know how to say it (or don't want to). &lt;/p&gt;
&lt;p&gt;This is why it's important to have a launch team. Those readers get the book early in return for leaving a review, so your percentages are much higher.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;On a side note, I have an open-door policy when it comes to reviews - you can tell me anything, especially if you don't like it. I want to know why so I can get better. I'm a big boy, you're not going to hurt my feelings.&lt;/em&gt; &lt;/p&gt;
&lt;h2 id=&quot;9-watch-out-for-kdp-delays&quot;&gt;9: Watch out for KDP delays&lt;/h2&gt;
&lt;p&gt;KDP are pretty awesome. I've contacted them a number of times for one reason or another, and they've always came through on whatever I've asked.&lt;/p&gt;
&lt;p&gt;With that in mind, the average response time is 24hrs, so if they ask you for anything, such as a clarification, respond as soon as you get the mail. Once they make the change, depending on what it is, it can take anywhere from 24 to 72 hours before it's visible on the site.&lt;/p&gt;
&lt;p&gt;When I initially released the book, I couldn't choose the categories that I wanted (more on that later), so I left it as uncategorisable, with the intention of asking KDP to set the right ones for me.&lt;/p&gt;
&lt;p&gt;Of course, there was a problem with the two categories that I chose (they were mutually exclusive) and because of the delay in getting back to them, for the first few days of my launch period I was in the general &lt;em&gt;Non-fiction&lt;/em&gt; category. &lt;/p&gt;
&lt;p&gt;Not bad for a fantasy novel. &lt;/p&gt;
&lt;p&gt;This meant that people that would normally have found me in the top 100 for the category in question missed out, which obviously wasn't great.&lt;/p&gt;
&lt;h2 id=&quot;10-decide-which-amazon-you-re-going-to-focus-on&quot;&gt;10: Decide which Amazon you're going to focus on&lt;/h2&gt;
&lt;p&gt;I'm Irish, currently based in France, working with an author group that's mostly based in the US. This means that when people get my book and want to leave a review, it's either going on Amazon.com, Amazon.co.uk, or Amazon.fr.&lt;/p&gt;
&lt;p&gt;Reviews on Amazon.com are shown on the other sites (but don't count in the numbers), but not the other way around. This means that my reviews are spread thinner than they could be, which hurts their effectiveness.&lt;/p&gt;
&lt;p&gt;This presents a conundrum: verified reviews are what count, but if you get the book on Amazon.co.uk and leave a review on Amazon.com, it doesn't show as verified. Previously you used to be able to post the review on both sites, but Amazon seem to have stopped that, so you need to make a choice as to what's more important to you.&lt;/p&gt;
&lt;p&gt;There's also the question of willpower. &lt;/p&gt;
&lt;p&gt;Already, if someone is willing to leave a review, that's a pretty big thing. If you then tell them to switch to another store, or even associate their Kindle with another store so the purchase will show up as verified, there's a pretty good chance that people will give up long before that.&lt;/p&gt;
&lt;p&gt;I've found that for people who read a lot, and understand the importance of reviews, they'll naturally post it on as many sites as possible (including GoodReads), whereas for the more casual reader, especially those close to you that are reading because this is your book, it's better to take what you can get :)&lt;/p&gt;
&lt;p&gt;Obviously, once you're a bit more established, this becomes less important.&lt;/p&gt;
&lt;h2 id=&quot;11-write-out-your-bio-meta-description-beforehand&quot;&gt;11: Write out your bio/meta/description beforehand&lt;/h2&gt;
&lt;p&gt;When you're uploading your book, doing promos on different sites, or signing up as an author on sites such as GoodReads, you'll be asked to submit your author bio, book description, and meta information (e.g. keywords) a lot. &lt;/p&gt;
&lt;p&gt;Get all this written out beforehand and save it somewhere. Have a few versions of your book description running from full length (Amazon) to 500 characters, to 250 characters. Different sites impose different limits and you're going to have enough to do without coming up with this each time.&lt;/p&gt;
&lt;p&gt;A special point comes with your book description - if you want to use fancy text (i.e. &lt;strong&gt;bold&lt;/strong&gt; or &lt;em&gt;italic&lt;/em&gt;), then you need to edit a HTML description on &lt;a href=&quot;https://authorcentral.amazon.com&quot;&gt;Author Central&lt;/a&gt; and not on &lt;a href=&quot;https://kdp.amazon.com/&quot;&gt;KDP&lt;/a&gt;, where you only have a plain text description. However, each time you modify your listing in KDP, it'll overwrite the fancypants description in Author Central, so having a HTML version that you can just copy and paste will save you a ton of time.&lt;/p&gt;
&lt;p&gt;Everything in this point can also apply to the emails that you'll send out when your book is live. Write them when you have the time; it'll make things smoother when it counts.&lt;/p&gt;
&lt;h2 id=&quot;12-author-central-isn-t-shared&quot;&gt;12: Author Central isn't shared&lt;/h2&gt;
&lt;p&gt;Speaking of Author Central, this is where you create the author page that's linked to your book. This lets people look at your beautiful face and also serves as a point of reference for all of your work.&lt;/p&gt;
&lt;p&gt;One thing that surprised me is that for all of the &lt;em&gt;Central&lt;/em&gt; in the name, Author Central is anything but. You'll need to create an account at &lt;a href=&quot;https://authorcentral.amazon.com&quot;&gt;https://authorcentral.amazon.com&lt;/a&gt;, &lt;a href=&quot;https://authorcentral.amazon.co.uk&quot;&gt;https://authorcentral.amazon.co.uk&lt;/a&gt;, &lt;a href=&quot;https://authorcentral.amazon.fr&quot;&gt;https://authorcentral.amazon.fr&lt;/a&gt; etc. Think of Amazon as a number of different companies all using the same name, but are essentially standalone.&lt;/p&gt;
&lt;p&gt;This is a huge pain and leads to a lot of duplicate content.&lt;/p&gt;
&lt;p&gt;But you know you'll do it anyway.&lt;/p&gt;
&lt;p&gt;This is also why you write your bio out beforehand.&lt;/p&gt;
&lt;h2 id=&quot;13-length-kind-of-matters&quot;&gt;13: Length (kind of) matters&lt;/h2&gt;
&lt;p&gt;The topic of the best length for a book is a bit of a interesting one. On the one hand, it doesn't really matter - a book is the length it needs to be - while on the other, it can have an impact on a lot of things.&lt;/p&gt;
&lt;p&gt;The general consensus seems to be under 7,500 is a short story, under 17,500 is a novelette, under 40,000 is a novella, while anything over that is a novel.&lt;/p&gt;
&lt;p&gt;So why does this matter? Well for one thing, it can mean an extra category for your book. Anything under 100 pages qualifies for the &lt;a href=&quot;https://www.amazon.com/Best-Sellers-Kindle-Store-Short-Reads/zgbs/digital-text/8584457011&quot;&gt;Kindle Short Reads&lt;/a&gt; list, and apart from that, you can also get listed in a &lt;em&gt;Short Stories&lt;/em&gt; category. I'm not 100% sure on the criteria behind the latter, as my book is just over 41,000 words and yet has an extra category in &lt;em&gt;Literature &amp;amp; Fiction &amp;gt; Short Stories&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;If you'd like to take part in the &lt;a href=&quot;https://kindlescout.amazon.com&quot;&gt;Kindle Scout&lt;/a&gt; program, which is a program where you can get your book published by Amazon and gain all that comes with that, then know that they impose a minimum word count of 50,000 words. Which I'll keep in mind for the next time :)&lt;/p&gt;
&lt;p&gt;As well as that, on the details page for books, you might notice that they list a page count for books. If you have a physical book, Amazon will use the page count from that once they're linked, otherwise they'll calculate their own, and they seem to work on a formula of about 300 words per page.&lt;/p&gt;
&lt;p&gt;So why does &lt;em&gt;that&lt;/em&gt; matter?&lt;/p&gt;
&lt;p&gt;Some promotions, notably BookBub, impose a minimum page count on anything they promote (for fiction it's 150 pages). As BookBub is a huge one for an author to get, this is also something to keep in mind.&lt;/p&gt;
&lt;h2 id=&quot;14-keywords-for-categories&quot;&gt;14: Keywords for categories&lt;/h2&gt;
&lt;p&gt;One of the most confusing things about Amazon is when you choose your categories. When you're on Amazon, the hierarchy looks something like &lt;em&gt;Kindle Store &amp;gt; Kindle eBooks &amp;gt; Teen &amp;amp; Young Adult &amp;gt; Science Fiction &amp;amp; Fantasy &amp;gt; Fantasy &amp;gt; Coming of Age&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;So you think, &lt;em&gt;that's the category for me!&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;Then you realise that that category doesn't exist in the options that KDP provide you.&lt;/p&gt;
&lt;p&gt;This is because that list is the &lt;a href=&quot;http://bisg.org/page/BISACSubjectCodes&quot;&gt;BISAC&lt;/a&gt; classification codes, which Amazon kind of approximates into the hierarchy that you see on the site. There's no direct 1-to-1 mapping, which makes it a bit of a guessing game as to what to pick.&lt;/p&gt;
&lt;p&gt;Why they couldn't just give you the site hierarchy to choose from, then reverse map the categories, is beyond me.&lt;/p&gt;
&lt;p&gt;When you upload your book, Amazon lets you choose 7 keyword phrases that you can associate with your book, for when people are searching for it. What's a bit hidden in the KDP help section is that you need to &lt;a href=&quot;https://kdp.amazon.com/help?topicId=A200PDGPEIQX41#keywords&quot;&gt;specify certain keywords to get into certain categories&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For example, if you want to get into &lt;em&gt;Teen &amp;amp; Young Adult &amp;gt; Fantasy &amp;gt; Coming of Age&lt;/em&gt;, you need to include &lt;em&gt;&quot;coming of age&quot;&lt;/em&gt; as one of your keyword phrases.&lt;/p&gt;
&lt;p&gt;Want to get into &lt;em&gt;Mystery, Thriller &amp;amp; Suspense &amp;gt; Crime Fiction &amp;gt; Organized Crime&lt;/em&gt;? Include either &lt;em&gt;&quot;mob&quot;&lt;/em&gt;, &lt;em&gt;&quot;mafia&quot;&lt;/em&gt;, &lt;em&gt;&quot;organized crime&quot;&lt;/em&gt;, or &lt;em&gt;&quot;yakuza&quot;&lt;/em&gt; as a keyword.&lt;/p&gt;
&lt;p&gt;As an added bonus, if you targeting &lt;em&gt;Children's&lt;/em&gt; or &lt;em&gt;Teen &amp;amp; Young Adult&lt;/em&gt; (which are mutually exclusive), then you need to set the minimum recommended reading age from 0-11 for &lt;em&gt;Chilidren's&lt;/em&gt; and 13-17 for &lt;em&gt;Teen &amp;amp; Young Adult&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;This is a pretty long post and I still don't feel like I've covered everything. There's always more information and tips to be discovered.&lt;/p&gt;
&lt;p&gt;It's part of the reason why it's so exciting :)&lt;/p&gt;
&lt;p&gt;Think I missed something? &lt;a href=&quot;#&quot; class=&quot;contact-link&quot;&gt;Get in touch&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;share-box&quot;&gt;
    &lt;h3 id=&quot;share&quot;&gt;Share this&lt;/h3&gt;
    &lt;a href=&quot;https://twitter.com/intent/tweet?hashtags=writing,FARG&amp;original_referer=https%3A%2F%2Fdamianconnolly.com%2F2016%2F08%2F01%2F14-things-you-should-know-before-you-release-your-first-book%2F&amp;text=14+things+you+should+know+before+you+release+your+first+book&amp;url=https%3A%2F%2Fdamianconnolly.com%2F2016%2F08%2F01%2F14-things-you-should-know-before-you-release-your-first-book%2F&amp;via=divillysausages&quot; class=&quot;twitter-share-btn&quot; title=&quot;Tweet on Twitter&quot; target=&quot;_blank&quot;&gt;Tweet&lt;/a&gt;
    &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdamianconnolly.com%2F2016%2F08%2F01%2F14-things-you-should-know-before-you-release-your-first-book%2F&quot; class=&quot;fb-share-btn&quot; title=&quot;Share on Facebook&quot; target=&quot;_blank&quot;&gt;Share&lt;/a&gt;
&lt;/div&gt;


&lt;div class=&quot;flex-container content-upgrade raised-corners&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/2016/14-things/content-upgrade.jpg&quot; alt=&quot;Get this article as a PDF action list&quot; class=&quot;flex-image&quot; /&gt;
    &lt;div class=&quot;flex-cell&quot;&gt;
        &lt;h2 class=&quot;flex-header&quot;&gt;Download this article as an action list&lt;/h2&gt;
        &lt;p class=&quot;content-upgrade-body&quot;&gt;Each point has been condensed to the essential and comes with a box to check off when you've taken care of it, so you don't forget a thing.&lt;/p&gt;
        &lt;a href=&quot;https://damianconnolly.com/files/2016/14-things/14-things-action-list.pdf&quot; class=&quot;form-button&quot;&gt;Download&lt;/a&gt;
    &lt;/div&gt;
&lt;/div&gt;</description>
		<pubDate>Mon, 01 Aug 2016 22:48:00 +0200</pubDate>
		<link>https://damianconnolly.com/2016/08/01/14-things-you-should-know-before-you-release-your-first-book/</link>
		<guid isPermaLink="true">https://damianconnolly.com/2016/08/01/14-things-you-should-know-before-you-release-your-first-book/</guid>
		</item>
	
		<item>
		<title>Shepherds: Awakening</title>
		<description>&lt;div class=&quot;flex-container&quot;&gt;
    &lt;div class=&quot;flex-cell&quot;&gt;
        &lt;h2 class=&quot;flex-header&quot;&gt;Discover the book that thousands of readers around the world just can't put down!&lt;/h2&gt;
        &lt;p&gt;Aisling Shepherd finds herself thrust into a fantastical world where reality is what you make it and the inhabitants are unaware that they're dead. &lt;em&gt;And being fed upon.&lt;/em&gt;&lt;/p&gt;
        &lt;p&gt;Those dark parasites can also see her, and she soon finds herself fighting for her very existence. Can she survive long enough to master her powers and live up to her name? Will she give up everything?&lt;/p&gt;
        &lt;p&gt;&lt;em&gt;Award-winning, captivating fiction.&lt;/em&gt;&lt;/p&gt;
        &lt;a href=&quot;http://getbook.at/shepherds&quot; title=&quot;Get Shepherds: Awakening on Amazon&quot; class=&quot;amazon-btn&quot;&gt;Buy now on &lt;img src=&quot;https://damianconnolly.com/img/amazon.png&quot; alt=&quot;Amazon&quot; width=&quot;102&quot; height=&quot;32&quot; class=&quot;btn-image&quot; /&gt;&lt;/a&gt;
    &lt;/div&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/kindle_book_award.jpg&quot; alt=&quot;Shepherds: Awakening - available on Kindle and paperback&quot; width=&quot;500&quot; height=&quot;500&quot; class=&quot;flex-image&quot; /&gt;
&lt;/div&gt;

&lt;div class=&quot;blurb&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/blurbs/page_morgan.jpg&quot; alt=&quot;Page Morgan&quot; width=&quot;75&quot; height=&quot;75&quot; /&gt;
    &lt;p class=&quot;blurb-text&quot;&gt;&amp;ldquo;A fantastic book. Gut-wrenching in places, and very original&amp;rdquo; &lt;span class=&quot;handle&quot;&gt;&lt;a href=&quot;https://twitter.com/pagemorganbooks&quot;&gt;Page Morgan&lt;/a&gt;, author of &lt;em&gt;The Dispossessed&lt;/em&gt; series&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;div class=&quot;editorial-review&quot;&gt;
    &lt;h2&gt;&amp;ldquo;Intriguing and ingenious&amp;rdquo; - &lt;span class=&quot;editorial-review-rating&quot;&gt;5 stars&lt;/span&gt; - Readers' Favorite &amp;reg;&lt;/h2&gt;
    &lt;img src=&quot;https://damianconnolly.com/img/5star-readers-favourite.png&quot; alt=&quot;5 star review from Readers' Favorite&quot; width=&quot;144&quot; height=&quot;144&quot; class=&quot;editorial-review-badge&quot; /&gt;
    &lt;p&gt;The concept of Shepherds: Awakening by Damian Connolly is intriguing and ingenious. There’s sincerity and other-worldliness in it that kept the story relevant and engaging to me, as Aisling reconnects with her father and learns about the world known as Limbo, as well as her duty as a Shepherd that has been passed down in the family. Following Aisling’s self-discovery and learning about her new skills in addition to her responsibility is fascinating. Her ups and downs, her effort to balance her life in the Limbo world, and her life with her mother in the real world kept me wanting to read what happens next.&lt;/p&gt;
    &lt;p&gt;On the whole, Shepherds: Awakening is a compelling and enjoyable read. I could finish it in one sitting, but decided to prolong my reading to two as I wasn’t ready to let go of the story that soon. This is a commendable literary work from Connolly and I’m very interested to see what he will come up with next. To be frank, I’m waiting for a sequel.&lt;/p&gt;
    &lt;div class=&quot;editorial-review-stars&quot;&gt;
        &lt;img src=&quot;https://damianconnolly.com/img/5stars-large.png&quot; alt=&quot;5 star review from Readers' Favorite&quot; width=&quot;250&quot; height=&quot;47&quot; /&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;book-description&quot;&gt;
    &lt;p&gt;&lt;strong&gt;&quot;We,&quot; he said, pointing to them both, &quot;are Shepherds. We open the door to whatever comes next.&quot;&lt;/strong&gt;&lt;/p&gt;
    &lt;p&gt;Aisling has always lived in her head, wishing for something more. Something &lt;em&gt;better&lt;/em&gt;. But when she finds herself fleeing for her life in a world where reality seems flexible, it isn't exactly what she had in mind.&lt;/p&gt;
    &lt;p&gt;When her absentee father shows up there, she soon starts questioning her very sanity. But he explains it all. Who they are, where they are, and what the deal is with all the dead people.&lt;/p&gt;
    &lt;p&gt;&lt;em&gt;And what's trying to eat them.&lt;/em&gt;&lt;/p&gt;
    &lt;p&gt;She has a name to live up to. If she accepts, it'll &lt;em&gt;break&lt;/em&gt; her, and she'll have to sacrifice everything. In the end, there needs to be a Shepherd.&lt;/p&gt;
    &lt;p&gt;All she has to do is open a door...&lt;/p&gt;
    &lt;p&gt;&lt;strong&gt;Winner of the 2016 Lyra Fantasy Award, New Apple Young Adult Fantasy Official Selection, and Readers' Favorite Five Stars Award, Awakening is a unique coming-of-age fantasy for readers who liked Philip Pullman's His Dark Materials, or Neil Gaiman.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/awards_small.jpg&quot; alt=&quot;Shepherds: Awakening awards&quot; width=&quot;900&quot; height=&quot;354&quot; /&gt;&lt;/p&gt;
&lt;div class=&quot;flex-container content-upgrade raised-corners&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/cover_flat_angle_small.jpg&quot; alt=&quot;Shepherds: Awakening - available on Kindle and paperback&quot; width=&quot;300&quot; height=&quot;207&quot; class=&quot;flex-image&quot; /&gt;
    &lt;div class=&quot;flex-cell&quot;&gt;
        &lt;h2 class=&quot;flex-header&quot;&gt;Want a FREE excerpt?&lt;/h2&gt;
        &lt;p class=&quot;content-upgrade-body&quot;&gt;Insiders can get their hands on the first 4 chapters for FREE&lt;/p&gt;


&lt;a href=&quot;#&quot; onclick=&quot;javascript:modalCheckForBonusOrOpen( event, 'modal-signup' )&quot;  class=&quot;form-button&quot;&gt;I'm in!&lt;/a&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;blurb&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/blurbs/mandy_walkden-brown.jpg&quot; alt=&quot;Mandy Walkden-Brown&quot; width=&quot;75&quot; height=&quot;75&quot; /&gt;
    &lt;p class=&quot;blurb-text&quot;&gt;&amp;ldquo;An extraordinary book. I was expecting the usual coming into her newly discovered powers formulaic story and instead I found this to be an amazingly emotional and captivating tale.&lt;br&gt;A delightful story, beautifully written and full of warmth.&lt;br&gt;Strong characters, together with a unique setting made for a compelling read.&lt;br&gt;Highly recommended.&amp;rdquo; &lt;span class=&quot;handle&quot;&gt;&lt;a href=&quot;https://www.goodreads.com/review/show/1683655518&quot;&gt;Mandy Walkden-Brown&lt;/a&gt;, Goodreads&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;





&lt;div class=&quot;author-block&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/author/headshot-circle.png&quot; alt=&quot;Damian Connolly&quot; width=&quot;250&quot; height=&quot;250&quot; class=&quot;author-block-image&quot; /&gt;
    &lt;p&gt;Damian is a Science-Fiction and Fantasy author born in Ireland, but currently living in Bordeaux, France, where it's decidedly warmer.&lt;/p&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/kindles.jpg&quot; alt=&quot;Shepherds: Awakening - available on Kindle&quot; width=&quot;200&quot; height=&quot;250&quot; class=&quot;float-right&quot; /&gt;
    &lt;p&gt;His debut novel, &lt;a href=&quot;/books/shepherds_awakening/&quot;&gt;Shepherds: Awakening&lt;/a&gt;, has won multiple awards, including the 2016 Lyra Fantasy Award. You can find &lt;a href=&quot;/books/&quot;&gt;all his books here&lt;/a&gt;&lt;/p&gt;
    &lt;p&gt;When he's not writing, he also makes video games. Like, the &lt;em&gt;best&lt;/em&gt; ones.&lt;/p&gt;
    &lt;p&gt;When he's not doing &lt;em&gt;that&lt;/em&gt;, he's on one side project or the other, which generally results in not enough sleep.&lt;/p&gt;
    &lt;p&gt;He loves hearing from people. Like what he writes? Get in touch. Hate what he does? Definitely get in touch. No idea who he is? Find out, and get in touch. Outside of &lt;a href=&quot;#&quot; class=&quot;contact-link&quot;&gt;email&lt;/a&gt;, you can find him on &lt;a href=&quot;https://twitter.com/divillysausages&quot;&gt;Twitter&lt;/a&gt;, or on &lt;a href=&quot;https://www.facebook.com/DamianConnollyAuthor/&quot;&gt;Facebook&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;


&lt;div class=&quot;flex-review-container&quot;&gt;
    &lt;div class=&quot;flex-review&quot;&gt;
        &lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/blurbs/andie_holman.jpg&quot; alt=&quot;Andie Holman&quot; width=&quot;75&quot; height=&quot;75&quot; class=&quot;flex-review-author-img&quot; /&gt;
        &lt;p class=&quot;blurb-author&quot;&gt;Andie Holman&lt;/p&gt;
        &lt;img src=&quot;https://damianconnolly.com/img/5stars.png&quot; alt=&quot;5 stars&quot; width=&quot;80&quot; height=&quot;14&quot; class=&quot;image-rating&quot; /&gt;
        &lt;p class=&quot;blurb-text&quot;&gt;&amp;ldquo;I simply love this book. I did not want it to end... Unique and engaging - easily five stars.&amp;rdquo;&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class=&quot;flex-review&quot;&gt;
        &lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/blurbs/cherylynn_ferrari.jpg&quot; alt=&quot;CheryLynn Ferrari&quot; width=&quot;75&quot; height=&quot;75&quot; class=&quot;flex-review-author-img&quot; /&gt;
        &lt;p class=&quot;blurb-author&quot;&gt;&lt;a href=&quot;http://www.cherylynn-art.com&quot;&gt;CheryLynn Ferrari&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://damianconnolly.com/img/5stars.png&quot; alt=&quot;5 stars&quot; width=&quot;80&quot; height=&quot;14&quot; class=&quot;image-rating&quot; /&gt;
        &lt;p class=&quot;blurb-text&quot;&gt;&amp;ldquo;I couldn't put it down... Completely intriguing. Damian Connolly has quite the imagination&amp;rdquo;&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class=&quot;flex-review&quot;&gt;
        &lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/blurbs/agi_kadar.jpg&quot; alt=&quot;Agi Kadar&quot; width=&quot;75&quot; height=&quot;75&quot; class=&quot;flex-review-author-img&quot; /&gt;
        &lt;p class=&quot;blurb-author&quot;&gt;&lt;a href=&quot;http://www.healthbalanced.com/&quot;&gt;Agi Kadar&lt;/a&gt;&lt;/p&gt;
        &lt;img src=&quot;https://damianconnolly.com/img/5stars.png&quot; alt=&quot;5 stars&quot; width=&quot;80&quot; height=&quot;14&quot; class=&quot;image-rating&quot; /&gt;
        &lt;p class=&quot;blurb-text&quot;&gt;&amp;ldquo;I read the book in one sitting. Just wanted to know what happens... Great read!&amp;rdquo;&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;flex-container final-call-to-action raised-corners&quot;&gt;
    &lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/wordcloud.jpg&quot; alt=&quot;Shepherds: Awakening review wordcloud&quot; width=&quot;500&quot; height=&quot;438&quot; class=&quot;flex-image&quot; /&gt;
    &lt;div class=&quot;flex-cell&quot;&gt;
        &lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/kindle_book_small.jpg&quot; alt=&quot;Shepherds: Awakening - available on Kindle and paperback&quot; width=&quot;250&quot; height=&quot;250&quot; /&gt;
        &lt;a href=&quot;http://getbook.at/shepherds&quot; title=&quot;Get Shepherds: Awakening on Amazon&quot; class=&quot;amazon-btn&quot;&gt;Buy now on &lt;img src=&quot;https://damianconnolly.com/img/amazon.png&quot; alt=&quot;Amazon&quot; width=&quot;102&quot; height=&quot;32&quot; class=&quot;btn-image&quot; /&gt;&lt;/a&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;div class=&quot;share-box&quot;&gt;
    &lt;h3 id=&quot;share&quot;&gt;Share this&lt;/h3&gt;
    &lt;a href=&quot;https://twitter.com/intent/tweet?hashtags=Shepherds&amp;original_referer=https%3A%2F%2Fdamianconnolly.com%2Fbooks%2Fshepherds_awakening%2F&amp;text=Check+out+this+book%2C+Shepherds%3A+Awakening!&amp;url=https%3A%2F%2Fdamianconnolly.com%2Fbooks%2Fshepherds_awakening%2F&amp;via=divillysausages&quot; class=&quot;twitter-share-btn&quot; title=&quot;Tweet on Twitter&quot; target=&quot;_blank&quot;&gt;Tweet&lt;/a&gt;
    &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdamianconnolly.com%2Fbooks%2Fshepherds_awakening%2F&quot; class=&quot;fb-share-btn&quot; title=&quot;Share on Facebook&quot; target=&quot;_blank&quot;&gt;Share&lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://damianconnolly.com/files/shepherds/awakening/devices.jpg&quot; alt=&quot;Shepherds: Awakening - available on all digital devices via the Kindle app&quot; width=&quot;640&quot; height=&quot;336&quot; /&gt;&lt;/p&gt;
&lt;div class=&quot;modal hidden&quot; id=&quot;modal-signup&quot;&gt;
    &lt;div class=&quot;modal-content&quot;&gt;
        &lt;a href=&quot;#&quot; onclick=&quot;javascript:modalClose(event)&quot; title=&quot;close&quot; class=&quot;modal-close&quot;&gt;&lt;img src=&quot;https://damianconnolly.com/img/close.png&quot; alt=&quot;Close&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;/a&gt;
        &lt;h3&gt;Become an Insider&lt;/h3&gt;


&lt;p class=&quot;signup-blurb&quot;&gt;Get news, free stories, and free books delivered direct to your inbox&lt;/p&gt;
&lt;form action=&quot;//damianconnolly.us3.list-manage.com/subscribe/post?u=9817bafb87077bb7e9f622d09&amp;amp;id=4a42a29376&quot; method=&quot;post&quot; class=&quot;flex-form&quot; onsubmit=&quot;signupOnSubmit(event)&quot;&gt;
    &lt;div class=&quot;required&quot;&gt;&lt;span class=&quot;asterisk&quot;&gt;*&lt;/span&gt; indicates required&lt;/div&gt;
    &lt;input type=&quot;text&quot; name=&quot;FNAME&quot; placeholder=&quot;First name *&quot; required&gt;
    &lt;input type=&quot;email&quot; name=&quot;EMAIL&quot; placeholder=&quot;Email *&quot; required&gt;
    &lt;div class=&quot;form-hidden&quot; aria-hidden=&quot;true&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;BOOK&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;SOURCE&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;GENRE&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;b_9817bafb87077bb7e9f622d09_4a42a29376&quot; tabindex=&quot;-1&quot; value=&quot;&quot;&gt;
    &lt;/div&gt;
    &lt;div class=&quot;signup-form-pending hidden&quot;&gt;
        &lt;p&gt;It looks like you've previously signed up, but haven't confirmed your email. If you haven't received an email yet, please check your &lt;strong&gt;Social/Promotions&lt;/strong&gt; or &lt;strong&gt;Spam&lt;/strong&gt; folders.&lt;/p&gt;
    &lt;/div&gt;
    &lt;button type=&quot;submit&quot; name=&quot;subscribe&quot; class=&quot;form-button&quot;&gt;Get your FREE bonus!&lt;/button&gt;
&lt;/form&gt;
&lt;p class=&quot;signup-blurb note&quot;&gt;I hate spam as much as you do; your email will &lt;strong&gt;never&lt;/strong&gt; be sold or shared&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;</description>
		<pubDate>Sat, 14 May 2016 15:41:00 +0200</pubDate>
		<link>https://damianconnolly.com/books/shepherds_awakening/</link>
		<guid isPermaLink="true">https://damianconnolly.com/books/shepherds_awakening/</guid>
		</item>
	
	</channel>
</rss>