Goodreads. eh.
Previously used to log reading activity. Later ditched in favor of the non-Amazon, open source Bookwyrm.
Below is a node.js script that can parse the the review.json
file from a Goodreads user export, group the "read" books by year, and output them. This script was used to help form the output for the pre-2022 lists on the Reading page.
const { readFileSync } = require('fs')
const data = readFileSync('./review.json')
let books = JSON.parse(data)
years = { }
books.forEach((b) => {
if (b.read_status == 'read') {
year = (new Date(b.read_at)).getFullYear()
if (!years[year]) {
years[year] = []
}
let bookText = b.book
if (b.review != '(not provided)') {
bookText += "— "+b.review
}
years[year].push(bookText)
}
})
for (const year in years) {
console.log("\n"+year+"\n")
let books = years[year]
books.forEach((book) => {
console.log(book)
})
}