From 9efc6b93dbebd1d0f9c152f5b0dc41af577f6c96 Mon Sep 17 00:00:00 2001 From: JP Hastings-Spital Date: Wed, 26 Jul 2023 21:00:28 +0100 Subject: [PATCH] Book reviews --- config.toml | 2 +- ...einsteins-dream.md => einsteins-dreams.md} | 9 +- .../charles-stross/accelerando-singularity.md | 17 ++ .../reviews/books/daniil-kharms/incidences.md | 17 ++ .../ready-player-one-ready-player-one-1-.md | 17 ++ .../books/iain-m-banks/consider-phlebas.md | 17 ++ .../jasper-fforde/lost-in-a-good-book.md | 17 ++ .../books/jasper-fforde/the-eyre-affair.md | 17 ++ .../books/john-scalzi/the-consuming-fire.md | 21 ++ .../books/john-scalzi/the-human-division.md | 19 ++ .../reviews/books/ken-macleod/intrusion.md | 7 +- .../books/kim-stanley-robinson/2312.md | 8 +- .../books/neil-gaiman/make-good-art.md | 17 ++ ...-pilgrimage-of-harold-fry-harold-fry-1-.md | 17 ++ ...-the-strange-theory-of-light-and-matter.md | 17 ++ ...store-mr-penumbras-24-hour-bookstore-1-.md | 17 ++ .../reviews/books/ryan-north/poor-yorick.jpg | Bin 0 -> 77419 bytes .../reviews/books/ryan-north/poor-yorick.md | 17 ++ .../books/steven-hall/the-raw-shark-texts.md | 17 ++ .../reviews/books/terry-pratchett/sourcery.md | 17 ++ layouts/partials/book.html | 18 ++ layouts/shortcodes/book.html | 0 layouts/shortcodes/openlibrary.html | 32 ++++ tools/archive/goodreads/go.mod | 5 + tools/archive/goodreads/go.sum | 4 + tools/archive/goodreads/main.go | 181 ++++++++++++++++++ tools/archive/instagram/go.sum | 3 + 27 files changed, 516 insertions(+), 14 deletions(-) rename content/posts/reviews/books/alan-lightman/{einsteins-dream.md => einsteins-dreams.md} (86%) create mode 100644 content/posts/reviews/books/charles-stross/accelerando-singularity.md create mode 100644 content/posts/reviews/books/daniil-kharms/incidences.md create mode 100644 content/posts/reviews/books/ernest-cline/ready-player-one-ready-player-one-1-.md create mode 100644 content/posts/reviews/books/iain-m-banks/consider-phlebas.md create mode 100644 content/posts/reviews/books/jasper-fforde/lost-in-a-good-book.md create mode 100644 content/posts/reviews/books/jasper-fforde/the-eyre-affair.md create mode 100644 content/posts/reviews/books/john-scalzi/the-consuming-fire.md create mode 100644 content/posts/reviews/books/john-scalzi/the-human-division.md create mode 100644 content/posts/reviews/books/neil-gaiman/make-good-art.md create mode 100644 content/posts/reviews/books/rachel-joyce/the-unlikely-pilgrimage-of-harold-fry-harold-fry-1-.md create mode 100644 content/posts/reviews/books/richard-p-feynman/qed-the-strange-theory-of-light-and-matter.md create mode 100644 content/posts/reviews/books/robin-sloan/mr-penumbras-24-hour-bookstore-mr-penumbras-24-hour-bookstore-1-.md create mode 100644 content/posts/reviews/books/ryan-north/poor-yorick.jpg create mode 100644 content/posts/reviews/books/ryan-north/poor-yorick.md create mode 100644 content/posts/reviews/books/steven-hall/the-raw-shark-texts.md create mode 100644 content/posts/reviews/books/terry-pratchett/sourcery.md create mode 100644 layouts/partials/book.html delete mode 100644 layouts/shortcodes/book.html create mode 100644 layouts/shortcodes/openlibrary.html create mode 100644 tools/archive/goodreads/go.mod create mode 100644 tools/archive/goodreads/go.sum create mode 100644 tools/archive/goodreads/main.go diff --git a/config.toml b/config.toml index 2a368ad7..4b64e20e 100644 --- a/config.toml +++ b/config.toml @@ -1,4 +1,3 @@ -relativeURLs = true languageCode = "en-gb" theme = "hello-friend-ng" @@ -9,6 +8,7 @@ PygmentsStyle = "monokai" # disqusShortname = "" canonifyURLs = true +relativeURLs = true enableRobotsTXT = true enableGitInfo = false diff --git a/content/posts/reviews/books/alan-lightman/einsteins-dream.md b/content/posts/reviews/books/alan-lightman/einsteins-dreams.md similarity index 86% rename from content/posts/reviews/books/alan-lightman/einsteins-dream.md rename to content/posts/reviews/books/alan-lightman/einsteins-dreams.md index 6176a1d6..95a218d8 100644 --- a/content/posts/reviews/books/alan-lightman/einsteins-dream.md +++ b/content/posts/reviews/books/alan-lightman/einsteins-dreams.md @@ -1,11 +1,10 @@ --- -title: Einstein's Dream +title: Einstein's Dreams subtitle: A book by Alan Lightman type: review -date: 2013-05-08 -emoji: 📖 +date: "2013-05-10T00:00:00Z" +emoji: "\U0001F4D6" draft: false -images: tags: - imported - from-goodreads @@ -13,7 +12,7 @@ syndications: - https://www.goodreads.com/review/show/610034736 --- -{{< book "9781400077809" >}} +{{< openlibrary "9781400077809" >}} A wonderful series of glimpses of strange worlds where time is fundamentally different - an insight into the weird and wonderful worlds Einstein must have dreamt through in his Annus Mirabilis. diff --git a/content/posts/reviews/books/charles-stross/accelerando-singularity.md b/content/posts/reviews/books/charles-stross/accelerando-singularity.md new file mode 100644 index 00000000..53d6a948 --- /dev/null +++ b/content/posts/reviews/books/charles-stross/accelerando-singularity.md @@ -0,0 +1,17 @@ +--- +title: Accelerando (Singularity) +subtitle: A book by Charles Stross +type: review +date: "2013-05-01T00:00:00Z" +emoji: "\U0001F4D6" +draft: false +tags: +- imported +- from-goodreads +syndications: +- https://www.goodreads.com/review/show/604252422 +--- + +{{< openlibrary "9780441014156" >}} + +An interesting and gripping book with food for much deep thought on the nature of morality, but the "story over many generations" format has always left me feeling as though I've read a group of short stories, each with an unsatisfactory end. diff --git a/content/posts/reviews/books/daniil-kharms/incidences.md b/content/posts/reviews/books/daniil-kharms/incidences.md new file mode 100644 index 00000000..386e7ae5 --- /dev/null +++ b/content/posts/reviews/books/daniil-kharms/incidences.md @@ -0,0 +1,17 @@ +--- +title: Incidences +subtitle: A book by Daniil Kharms +type: review +date: "2011-10-16T00:00:00Z" +emoji: "\U0001F4D6" +draft: false +tags: +- imported +- from-goodreads +syndications: +- https://www.goodreads.com/review/show/111896935 +--- + +{{< openlibrary "9781852424800" >}} + +I really love the style of his almost ridiculously brief short stories — they contain a lot for so few lines! diff --git a/content/posts/reviews/books/ernest-cline/ready-player-one-ready-player-one-1-.md b/content/posts/reviews/books/ernest-cline/ready-player-one-ready-player-one-1-.md new file mode 100644 index 00000000..69a45da9 --- /dev/null +++ b/content/posts/reviews/books/ernest-cline/ready-player-one-ready-player-one-1-.md @@ -0,0 +1,17 @@ +--- +title: Ready Player One +subtitle: A book by Ernest Cline +type: review +date: "2011-08-25T00:00:00Z" +emoji: "\U0001F4D6" +draft: false +tags: +- imported +- from-goodreads +syndications: +- https://www.goodreads.com/review/show/202287308 +--- + +{{< openlibrary "9780307887436" >}} + +I absolutely demolished this book - it's a completely engrossing tale, well worth a read! diff --git a/content/posts/reviews/books/iain-m-banks/consider-phlebas.md b/content/posts/reviews/books/iain-m-banks/consider-phlebas.md new file mode 100644 index 00000000..792e7524 --- /dev/null +++ b/content/posts/reviews/books/iain-m-banks/consider-phlebas.md @@ -0,0 +1,17 @@ +--- +title: Consider Phlebas +subtitle: A book by Iain M. Banks +type: review +date: "2012-04-21T00:00:00Z" +emoji: "\U0001F4D6" +draft: false +tags: +- imported +- from-goodreads +syndications: +- https://www.goodreads.com/review/show/316204375 +--- + +{{< openlibrary "9781857231380" >}} + +Great story, satisfying if saddening end. diff --git a/content/posts/reviews/books/jasper-fforde/lost-in-a-good-book.md b/content/posts/reviews/books/jasper-fforde/lost-in-a-good-book.md new file mode 100644 index 00000000..10d9ebfb --- /dev/null +++ b/content/posts/reviews/books/jasper-fforde/lost-in-a-good-book.md @@ -0,0 +1,17 @@ +--- +title: Lost in a Good Book +subtitle: A book by Jasper Fforde +type: review +date: "2013-08-18T00:00:00Z" +emoji: "\U0001F4D6" +draft: false +tags: +- imported +- from-goodreads +syndications: +- https://www.goodreads.com/review/show/695460156 +--- + +{{< openlibrary "9780142004036" >}} + +Very enjoyable, though a little indistinct from the Jane Eyre affair, I think it stands as part of the series but not so much on its own. diff --git a/content/posts/reviews/books/jasper-fforde/the-eyre-affair.md b/content/posts/reviews/books/jasper-fforde/the-eyre-affair.md new file mode 100644 index 00000000..ad43d7a8 --- /dev/null +++ b/content/posts/reviews/books/jasper-fforde/the-eyre-affair.md @@ -0,0 +1,17 @@ +--- +title: The Eyre Affair +subtitle: A book by Jasper Fforde +type: review +date: "2013-08-10T00:00:00Z" +emoji: "\U0001F4D6" +draft: false +tags: +- imported +- from-goodreads +syndications: +- https://www.goodreads.com/review/show/687343966 +--- + +{{< openlibrary "9780142001806" >}} + +Charmingly written, with an interesting plot, deep characters and a very interesting precepts - well worth a read! diff --git a/content/posts/reviews/books/john-scalzi/the-consuming-fire.md b/content/posts/reviews/books/john-scalzi/the-consuming-fire.md new file mode 100644 index 00000000..96c04a75 --- /dev/null +++ b/content/posts/reviews/books/john-scalzi/the-consuming-fire.md @@ -0,0 +1,21 @@ +--- +title: The Consuming Fire +subtitle: A book by John Scalzi +type: review +date: "2018-10-20T00:00:00Z" +emoji: "\U0001F4D6" +draft: false +tags: +- imported +- from-goodreads +syndications: +- https://www.goodreads.com/review/show/2569740480 +--- + +{{< openlibrary "9781509835171" >}} + +Completely engaging, I breezed through this book like I do all Scalzi's work — great fun! + +## Quotes + +> Confidence isn’t about knowing you’re right. Confidence is about knowing you can make it right. diff --git a/content/posts/reviews/books/john-scalzi/the-human-division.md b/content/posts/reviews/books/john-scalzi/the-human-division.md new file mode 100644 index 00000000..9be199e8 --- /dev/null +++ b/content/posts/reviews/books/john-scalzi/the-human-division.md @@ -0,0 +1,19 @@ +--- +title: The Human Division +subtitle: A book by John Scalzi +type: review +date: "2013-05-01T00:00:00Z" +emoji: "\U0001F4D6" +draft: false +tags: +- imported +- from-goodreads +syndications: +- https://www.goodreads.com/review/show/604255023 +--- + +{{< openlibrary "9780765333513" >}} + +Wonderful! The serialisation of this book was perfect for the story and I was always looking forward to Tuesday mornings when my Kindle would update with the latest edition. + +I find myself looking for a sequel. diff --git a/content/posts/reviews/books/ken-macleod/intrusion.md b/content/posts/reviews/books/ken-macleod/intrusion.md index 04b17cc2..08bdcc03 100644 --- a/content/posts/reviews/books/ken-macleod/intrusion.md +++ b/content/posts/reviews/books/ken-macleod/intrusion.md @@ -2,10 +2,9 @@ title: Intrusion subtitle: A book by Ken MacLeod type: review -date: 2013-04-20 -emoji: 📖 +date: "2013-04-20T00:00:00Z" +emoji: "\U0001F4D6" draft: false -images: tags: - imported - from-goodreads @@ -13,6 +12,6 @@ syndications: - https://www.goodreads.com/review/show/566131190 --- -{{< book "9781841499390" >}} +{{< openlibrary "9781841499390" >}} A very well written book with a good combination of mystery, politics, scientific fact and deep characters. Occasionally the technical talk may be overwhelming (for me it was with the politics, but there's some chemistry, technology and a little law) but it's skilfully placed to not hand-hold those with technical knowledge while allowing those without the specific knowledge enough to follow the story. diff --git a/content/posts/reviews/books/kim-stanley-robinson/2312.md b/content/posts/reviews/books/kim-stanley-robinson/2312.md index 06bad5e0..fef8edeb 100644 --- a/content/posts/reviews/books/kim-stanley-robinson/2312.md +++ b/content/posts/reviews/books/kim-stanley-robinson/2312.md @@ -1,9 +1,9 @@ --- -title: 2312 +title: "2312" subtitle: A book by Kim Stanley Robinson type: review -date: 2013-05-01 -emoji: 📖 +date: "2013-04-01T00:00:00Z" +emoji: "\U0001F4D6" draft: false tags: - imported @@ -12,7 +12,7 @@ syndications: - https://www.goodreads.com/review/show/604253366 --- -{{< book "9780316098120" >}} +{{< openlibrary "9780316098120" >}} Tough reading at times, I often got the nagging feeling that the author was trying to impress me with his (obviously deep and detailed) knowledge of a wide variety of topics above telling a story. This did lend to the feel of the book as a kind of fictional historical text (which I think was the intention), but I did put the book down once without the intention of picking it up again. diff --git a/content/posts/reviews/books/neil-gaiman/make-good-art.md b/content/posts/reviews/books/neil-gaiman/make-good-art.md new file mode 100644 index 00000000..0f3f8f74 --- /dev/null +++ b/content/posts/reviews/books/neil-gaiman/make-good-art.md @@ -0,0 +1,17 @@ +--- +title: Make Good Art +subtitle: A book by Neil Gaiman +type: review +date: "2014-01-02T00:00:00Z" +emoji: "\U0001F4D6" +draft: false +tags: +- imported +- from-goodreads +syndications: +- https://www.goodreads.com/review/show/808658340 +--- + +{{< openlibrary "9780062266767" >}} + +A lovely little speech with printed in an interesting and expressive way (if occasionally slightly irritating on the first read!). Well worth reading if you ever have or ever will make things. diff --git a/content/posts/reviews/books/rachel-joyce/the-unlikely-pilgrimage-of-harold-fry-harold-fry-1-.md b/content/posts/reviews/books/rachel-joyce/the-unlikely-pilgrimage-of-harold-fry-harold-fry-1-.md new file mode 100644 index 00000000..be09b241 --- /dev/null +++ b/content/posts/reviews/books/rachel-joyce/the-unlikely-pilgrimage-of-harold-fry-harold-fry-1-.md @@ -0,0 +1,17 @@ +--- +title: The Unlikely Pilgrimage of Harold Fry +subtitle: A book by Rachel Joyce +type: review +date: "2013-08-03T00:00:00Z" +emoji: "\U0001F4D6" +draft: false +tags: +- imported +- from-goodreads +syndications: +- https://www.goodreads.com/review/show/687343274 +--- + +{{< openlibrary "9780812993295" >}} + +A wonderfully simple story about a man who ends up doing something he believes in. Easy to breeze through, it's a wholly satisfying read. diff --git a/content/posts/reviews/books/richard-p-feynman/qed-the-strange-theory-of-light-and-matter.md b/content/posts/reviews/books/richard-p-feynman/qed-the-strange-theory-of-light-and-matter.md new file mode 100644 index 00000000..f7673f5f --- /dev/null +++ b/content/posts/reviews/books/richard-p-feynman/qed-the-strange-theory-of-light-and-matter.md @@ -0,0 +1,17 @@ +--- +title: 'QED: The Strange Theory of Light and Matter' +subtitle: A book by Richard P. Feynman +type: review +date: "2011-10-15T00:00:00Z" +emoji: "\U0001F4D6" +draft: false +tags: +- imported +- from-goodreads +syndications: +- https://www.goodreads.com/review/show/224218792 +--- + +{{< openlibrary "9780140125054" >}} + +Always a pleasure to read. Even having covered the content during my Physics degree his style is a pleasure to get into and his analogies work as well for a physicist as I'm sure they would have done for Alix. diff --git a/content/posts/reviews/books/robin-sloan/mr-penumbras-24-hour-bookstore-mr-penumbras-24-hour-bookstore-1-.md b/content/posts/reviews/books/robin-sloan/mr-penumbras-24-hour-bookstore-mr-penumbras-24-hour-bookstore-1-.md new file mode 100644 index 00000000..370ae1ea --- /dev/null +++ b/content/posts/reviews/books/robin-sloan/mr-penumbras-24-hour-bookstore-mr-penumbras-24-hour-bookstore-1-.md @@ -0,0 +1,17 @@ +--- +title: Mr. Penumbra's 24-Hour Bookstore +subtitle: A book by Robin Sloan +type: review +date: "2013-08-23T00:00:00Z" +emoji: "\U0001F4D6" +draft: false +tags: +- imported +- from-goodreads +syndications: +- https://www.goodreads.com/review/show/698555776 +--- + +{{< openlibrary "9781782391210" >}} + +This is a superb book. Inspiring, permanently thrilling, believable but without trying to be, witty and laugh-out-loud funny in places – I can't recommend it enough. diff --git a/content/posts/reviews/books/ryan-north/poor-yorick.jpg b/content/posts/reviews/books/ryan-north/poor-yorick.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5433f579a50e40691e56726beb63ec9630fffa4e GIT binary patch literal 77419 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 + +Ridiculous and fun - a short, choose-your-own-journey story with much nifty reference to Hamlet. diff --git a/content/posts/reviews/books/steven-hall/the-raw-shark-texts.md b/content/posts/reviews/books/steven-hall/the-raw-shark-texts.md new file mode 100644 index 00000000..0a26f592 --- /dev/null +++ b/content/posts/reviews/books/steven-hall/the-raw-shark-texts.md @@ -0,0 +1,17 @@ +--- +title: The Raw Shark Texts +subtitle: A book by Steven Hall +type: review +date: "2014-04-02T00:00:00Z" +emoji: "\U0001F4D6" +draft: false +tags: +- imported +- from-goodreads +syndications: +- https://www.goodreads.com/review/show/879236135 +--- + +{{< openlibrary "9781847670243" >}} + +Took me a while to get into it, but the concept is excellent and Hall doesn't assume the reader is an idiot - I get the feeling I'm going to need to read it again and hunt down the unchapters though… diff --git a/content/posts/reviews/books/terry-pratchett/sourcery.md b/content/posts/reviews/books/terry-pratchett/sourcery.md new file mode 100644 index 00000000..e81f84f2 --- /dev/null +++ b/content/posts/reviews/books/terry-pratchett/sourcery.md @@ -0,0 +1,17 @@ +--- +title: Sourcery +subtitle: A book by Terry Pratchett +type: review +date: "2010-07-09T00:00:00Z" +emoji: "\U0001F4D6" +draft: false +tags: +- imported +- from-goodreads +syndications: +- https://www.goodreads.com/review/show/111897239 +--- + +{{< openlibrary "9780061367779" >}} + +As always, a joy to read, but I sometimes felt a little overwhelmed by the lengthy passages of metaphor. diff --git a/layouts/partials/book.html b/layouts/partials/book.html new file mode 100644 index 00000000..1dd48bdd --- /dev/null +++ b/layouts/partials/book.html @@ -0,0 +1,18 @@ +

+ {{ with .cover }} + The cover of this book + {{ end }} + + {{ .title }} +
    + {{ range .authors }} +
  1. {{ .name }}
  2. + {{ end }} +
+ +
    + {{ range .subjects }} +
  • {{ . }}
  • + {{ end }} +
+
diff --git a/layouts/shortcodes/book.html b/layouts/shortcodes/book.html deleted file mode 100644 index e69de29b..00000000 diff --git a/layouts/shortcodes/openlibrary.html b/layouts/shortcodes/openlibrary.html new file mode 100644 index 00000000..ff3a67b5 --- /dev/null +++ b/layouts/shortcodes/openlibrary.html @@ -0,0 +1,32 @@ +{{ $isbn := .Get 0 }} +{{ $path := .Page.Path }} + +{{ $query := (dict "type" "/type/edition" "isbn_13" $isbn) | jsonify }} +{{ $thing := getJSON (printf "https://openlibrary.org/api/things?query=%s" ($query)) }} +{{ if and (eq $thing.status "ok") (ge (len $thing.result) 1) }} + {{ $key := index $thing.result 0 }} + {{ $bookObj := getJSON (printf "https://openlibrary.org/api/get?key=%s" $key) }} + {{ if eq $bookObj.status "ok" }} + {{ $authors := slice }} + {{ range $bookObj.result.authors }} + {{ $authorObj := getJSON (printf "https://openlibrary.org/api/get?key=%s" .key) }} + {{ if eq $authorObj.status "ok" }} + {{ $authors = $authors | append (dict "name" $authorObj.result.name "url" (printf "https://openlibrary.org%s" $authorObj.result.key)) }} + {{ end }} + {{ end }} + + {{/* TODO: Perhaps I nede to parse this a bit */}} + {{ $subjects := $bookObj.result.subjects }} + + {{ $cover := "" }} + {{ with resources.GetRemote (printf "https://covers.openlibrary.org/b/isbn/%s-M.jpg" $isbn) }} + {{ with .Err }} + {{ else }} + {{ $cover = .Content | resources.FromString (replaceRE `\.md$` ".jpg" $path) }} + {{ end }} + {{ end }} + + {{ $book := dict "title" $bookObj.result.title "authors" $authors "url" (printf "https://openlibrary.org%s" $key) "cover" $cover "subjects" $subjects }} + {{ partial "book.html" $book }} + {{ end }} +{{ end }} diff --git a/tools/archive/goodreads/go.mod b/tools/archive/goodreads/go.mod new file mode 100644 index 00000000..b7b7ddf2 --- /dev/null +++ b/tools/archive/goodreads/go.mod @@ -0,0 +1,5 @@ +module github.com/jphastings/www.byjp.me/tools/archive/goodreads + +go 1.20 + +require gopkg.in/yaml.v2 v2.4.0 diff --git a/tools/archive/goodreads/go.sum b/tools/archive/goodreads/go.sum new file mode 100644 index 00000000..dd0bc19f --- /dev/null +++ b/tools/archive/goodreads/go.sum @@ -0,0 +1,4 @@ +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= diff --git a/tools/archive/goodreads/main.go b/tools/archive/goodreads/main.go new file mode 100644 index 00000000..d3964b41 --- /dev/null +++ b/tools/archive/goodreads/main.go @@ -0,0 +1,181 @@ +package main + +import ( + "encoding/csv" + "fmt" + "io" + "os" + "path" + "regexp" + "strings" + "time" + + yaml "gopkg.in/yaml.v2" +) + +func check(err error, msg string) { + if err != nil { + fmt.Fprintf(os.Stderr, "%s\n %v", msg, err) + os.Exit(1) + } +} + +type closer interface { + Close() error +} + +func doClose(c closer, msg string) { + check(c.Close(), msg) +} + +type postInfo struct { + Title string + Subtitle string + Type string + Date string + Emoji string + Draft bool + Tags []string + Syndications []string + + path string + content string +} + +func main() { + if len(os.Args) != 3 { + fmt.Fprintf(os.Stderr, "Usage: %s \n", os.Args[0]) + } + + csvPath := os.Args[1] + hugo := os.Args[2] + outputDir := path.Join(hugo, "content", "posts", "reviews", "books") + + f, err := os.Open(csvPath) + check(err, "Unable to open csv file") + defer doClose(f, "Unable to close csv file") + + postCount, err := createPosts(csv.NewReader(f), outputDir) + check(err, "Unable to create hugo posts for your goodreads data") + + fmt.Printf("Success! %d Goodreads reviews were added to your hugo blog.\n", postCount) +} + +var requiredFields = []string{ + "ISBN13", + "Title", + "Author", + "Date Read", + "Date Added", + "My Review", +} + +func createPosts(c *csv.Reader, outputDir string) (int, error) { + added := 0 + headers := make(map[string]int) + + for { + record, err := c.Read() + if err == io.EOF { + break + } + if err != nil { + return added, err + } + + if len(headers) == 0 { + for i, h := range record { + headers[h] = i + } + + for _, f := range requiredFields { + if _, ok := headers[f]; !ok { + return added, fmt.Errorf("given CSV doesn't have a %s column", f) + } + } + continue + } + + m := make(map[string]string) + for _, f := range requiredFields { + m[f] = record[headers[f]] + } + + if m["My Review"] == "" { + continue + } + + post, err := postFromRow(m) + if err != nil { + return added, err + } + + postPath := path.Join(outputDir, post.path) + + if err := os.MkdirAll(path.Dir(postPath), 0755); err != nil { + return added, err + } + + hugoPost, err := os.Create(postPath) + if err != nil { + return added, err + } + + fmt.Fprintln(hugoPost, "---") + if err := yaml.NewEncoder(hugoPost).Encode(post); err != nil { + return added, err + } + fmt.Fprintln(hugoPost, "---") + fmt.Fprintln(hugoPost, post.content) + hugoPost.Close() + added += 1 + } + + return added, nil +} + +func postFromRow(row map[string]string) (postInfo, error) { + reviewDate, err := time.Parse("2006/01/02", row["Date Read"]) + if err != nil { + reviewDate, err = time.Parse("2006/01/02", row["Date Added"]) + } + if err != nil { + return postInfo{}, err + } + + isbn := row["ISBN13"][2 : len(row["ISBN13"])-1] + content := escapeMarkdown(row["My Review"]) + + post := postInfo{ + Type: "review", + Draft: false, + Emoji: "📖", + Title: row["Title"], + Subtitle: "A book by " + row["Author"], + Tags: []string{"imported", "from-goodreads"}, + Date: reviewDate.Format(time.RFC3339), + Syndications: []string{"https://www.goodreads.com/review/show/"}, + + content: fmt.Sprintf("\n{{< book \"%s\" >}}\n\n%s", isbn, content), + path: path.Join(kebab(row["Author"]), kebab(row["Title"])+".md"), + } + + return post, nil +} + +var markdownEscapable = regexp.MustCompile(`([!\[\]])`) + +func escapeMarkdown(str string) string { + text := strings.ReplaceAll(str, "
", "\n") + return markdownEscapable.ReplaceAllString(text, `\$1`) +} + +var kebabRE = regexp.MustCompile(`[^a-z0-9-]+`) + +func kebab(str string) string { + return kebabRE.ReplaceAllString( + strings.ToLower( + strings.ReplaceAll(str, "'", "")), + "-", + ) +} diff --git a/tools/archive/instagram/go.sum b/tools/archive/instagram/go.sum index 7a11dc5f..74dcee37 100644 --- a/tools/archive/instagram/go.sum +++ b/tools/archive/instagram/go.sum @@ -1,5 +1,8 @@ +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=