{"id":2625,"date":"2020-07-25T13:26:47","date_gmt":"2020-07-25T17:26:47","guid":{"rendered":"https:\/\/www.thatsoftwareguy.com\/blog\/?p=2625"},"modified":"2020-07-25T13:26:49","modified_gmt":"2020-07-25T17:26:49","slug":"how-amazon-broke-my-little-book-club-site","status":"publish","type":"post","link":"https:\/\/www.thatsoftwareguy.com\/blog\/2020\/07\/25\/how-amazon-broke-my-little-book-club-site\/","title":{"rendered":"How Amazon broke my little book club site"},"content":{"rendered":"\n<p>Warning: this is a tale of woe.  <\/p>\n\n\n\n<p>My book group site is <a href=\"http:\/\/tampabaybookgroup.org\">http:\/\/tampabaybookgroup.org<\/a>.  <\/p>\n\n\n\n<p>I created and maintained this site just by editing plain HTML for many years. I wanted to do something more sophisticated, but never seemed to get around to it. One day, though, I noticed that some of my old Amazon-generated links were no longer working. Rather than going through and testing them all, I decided to completely rebuild the site using Amazon\u2019s API, so I could be guaranteed of getting good URLs.<\/p>\n\n\n\n<p>What technology to use?  I could build it with Rails, but having a database seemed like overkill for such a small site. A Static Site Generator was a much better fit for something like this which changes infrequently &#8211; a half dozen times per year or so, as the group&#8217;s reading choices are made. So I just had to select between the SSGs that I was familiar with &#8211; <a href=\"https:\/\/gohugo.io\/\">Hugo<\/a> and <a rel=\"noreferrer noopener\" href=\"https:\/\/jekyllrb.com\/\" target=\"_blank\">Jekyll<\/a>. I had wanted to learn more Ruby, and was already a <a href=\"https:\/\/github.com\/tokzk\/jekyll-amazon\">Ruby gem to query Amazon<\/a>, so I chose Jekyll.<\/p>\n\n\n\n<p>So I rebuilt the site using Jekyll, which made updating it faster &#8211; MUCH faster in fact. This worked really well for several years.<\/p>\n\n\n\n<p>Then <a rel=\"noreferrer noopener\" href=\"https:\/\/prosociate.com\/amazons-new-api-policy\/\" target=\"_blank\">Amazon limited access to their Advertising API<\/a>. <i class=\"far fa-angry\"><\/i>. And things completely stopped working, with mysterious messages about API limits.<\/p>\n\n\n\n<p>After a bunch of searching, I finally found an explanation on StackOverflow of the Amazon change and the likely impact it would have on sites like mine.  I stalled for several months on doing anything, thinking they would see the error of their ways. <strong>HAH!<\/strong>  No such luck.<\/p>\n\n\n\n<p>I then wrote an appeal letter to Amazon, suggesting they grant an exception to non-profits like my site, which they did not accept.  <\/p>\n\n\n\n<p>So I had to take the Jekyll generated pages and extract the common parts so they could be consolidated and loaded using server side includes, and start hand editing the pages again. <\/p>\n\n\n\n<p>And now I&#8217;m back where I started.  It&#8217;s a shame, but there you are. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Warning: this is a tale of woe. My book group site is http:\/\/tampabaybookgroup.org. I created and maintained this site just by editing plain HTML for many years. I wanted to do something more sophisticated, but never seemed to get around to it. One day, though, I noticed that some of my old Amazon-generated links were &hellip; <a href=\"https:\/\/www.thatsoftwareguy.com\/blog\/2020\/07\/25\/how-amazon-broke-my-little-book-club-site\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">How Amazon broke my little book club site<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[100,86,58],"tags":[],"class_list":["post-2625","post","type-post","status-publish","format-standard","hentry","category-reading","category-static-site-generators","category-that-software-guy"],"_links":{"self":[{"href":"https:\/\/www.thatsoftwareguy.com\/blog\/wp-json\/wp\/v2\/posts\/2625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thatsoftwareguy.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thatsoftwareguy.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thatsoftwareguy.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thatsoftwareguy.com\/blog\/wp-json\/wp\/v2\/comments?post=2625"}],"version-history":[{"count":6,"href":"https:\/\/www.thatsoftwareguy.com\/blog\/wp-json\/wp\/v2\/posts\/2625\/revisions"}],"predecessor-version":[{"id":2632,"href":"https:\/\/www.thatsoftwareguy.com\/blog\/wp-json\/wp\/v2\/posts\/2625\/revisions\/2632"}],"wp:attachment":[{"href":"https:\/\/www.thatsoftwareguy.com\/blog\/wp-json\/wp\/v2\/media?parent=2625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thatsoftwareguy.com\/blog\/wp-json\/wp\/v2\/categories?post=2625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thatsoftwareguy.com\/blog\/wp-json\/wp\/v2\/tags?post=2625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}