Move scraped book details into data folder

This commit is contained in:
SirBlob committed 2026-11-01 22:58:56 -05:00
1 parent 9ce67f7600
commit 1f7e88f117
9 files changed
+190 -252

No files matched your search

+1
View File
@@ -19,3 +19,4 @@ __pycache__
*.log
.DS_Store
Thumbs.db
data/lastfm
+1 -1
View File
@@ -25,7 +25,7 @@ vite.config.ts.timestamp-*
bun.lock
__pycache__/
.cache/
data/
data/lastfm/
Update.md
PROJECT.md
blogs/
+10 -4
View File
@@ -100,7 +100,7 @@ Copy `.env.example` to `.env` and fill in what you need. Every value is optional
## Content
Site content lives in `content/`.
Personal content and config live in `content/`. Data the tools fetch or generate from it (scraped book details and OMDb details) lives in `data/`, and downloaded images go in `static/`. Both are committed so the site never has to call Goodreads or OMDb for saved entries. `data/lastfm` is the exception: the server fills it at runtime and it stays out of git.
### Content editor
@@ -124,11 +124,12 @@ bun run content
| `s` | Move a book to another shelf, set a show or movie to watched, watching or planning, or make a theme the site default |
| `d` | Delete |
| `K` / `J` | Move a song or entry up or down |
| `u` / `U` | Refresh the selected book, or every book, from Goodreads |
| `u` / `U` | Refresh the selected book, or every book, from Goodreads; `u` also refreshes a show or movie from OMDb |
| `C` | Download every missing book cover, or every missing show and movie poster and details |
| `r` | Reload from disk |
| `q` | Quit |
Show and movie titles are looked up on OMDb with `OMDB_API_KEY` from `.env`; fill in the name field to skip the lookup. Books are scraped from Goodreads once when added and saved to `books.json`. To check a Goodreads link on its own, run `python3 tools/content/goodreads.py <url>`.
Show and movie titles are looked up on OMDb with `OMDB_API_KEY` from `.env` once when added. The details go into `data/mediaDetails.json` and the poster into `static/covers/media`, so the site only asks OMDb about titles that have nothing saved; fill in the name field to skip the lookup. Book covers are saved into `static/covers/books`. Books are scraped from Goodreads once when added: your shelf, rating and series go into `content/books.json`, and the scraped details into `data/bookDetails.json`. To check a Goodreads link on its own, run `python3 tools/content/goodreads.py <url>`.
| File | Holds |
| --- | --- |
@@ -137,12 +138,17 @@ Show and movie titles are looked up on OMDb with `OMDB_API_KEY` from `.env`; fil
| `experience.json` / `leadership.json` | Work experience and leadership roles |
| `projects/*.json` | Open source, packages, hackathons, research groups and organizations |
| `music.json` | YouTube links for the music player |
| `books.json` | Books scraped from Goodreads for the about page |
| `books.json` | Your books: Goodreads link, shelf, rating and series |
| `wallpapers.json` | Wallpapers for the picker, written by `bun run wallpapers` |
| `desktop.json` | Workspaces, desktop icons, the startup command and the default theme |
| `themes.json` | Color themes for the site and the content editor |
| `blog/*.md` | Blog posts |
| Generated file in `data/` | Holds |
| --- | --- |
| `bookDetails.json` | Title, authors, cover, description, pages and genres scraped from Goodreads |
| `mediaDetails.json` | Year, genre, runtime, plot and poster path from OMDb |
### Wallpapers
```sh
+93 -239
View File
@@ -1,379 +1,233 @@
[
{ "goodreadsId": "170448", "url": "https://www.goodreads.com/book/show/170448", "title": "Animal Farm", "authors": ["George Orwell"], "cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1325861570i/170448.jpg", "description": "Animal Farm is the most famous by far of all twentieth-century political allegories. Its account of a group of barnyard animals who revolt against their vicious human master, only to submit to a tyranny erected by their own kind, can fairly be said to have become a universal drama. Orwell is one of the very few modern satirists comparable to Jonathan Swift in power, artistry, and moral authority; in animal farm his spare prose and the logic of his dark comedy brilliantly highlight his stark message.\n \nTaking as his starting point the betrayed promise of the Russian Revolution, Orwell lays out...", "pages": 141, "published": "1996-04-01", "genres": ["Classics", "Fiction", "Dystopia", "Fantasy", "School"], "averageRating": 4.03, "ratingCount": 4853138, "shelf": "read", "rating": 10, "added": "2026-11-01" },
{ "goodreadsId": "61439040", "url": "https://www.goodreads.com/book/show/61439040", "title": "1984", "authors": ["George Orwell"], "cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1657781256i/61439040.jpg", "description": "A masterpiece of rebellion and imprisonment where war is peace freedom is slavery and Big Brother is watching. Thought Police, Big Brother, Orwellian - these words have entered our vocabulary because of George Orwell's classic dystopian novel 1984. The story of one man's Nightmare Odyssey as he pursues a forbidden love affair through a world ruled by warring states and a power structure that controls not only information but also individual thought and memory 1984 is a prophetic haunting tale More relevant than ever before 1984 exposes the worst crimes imaginable the destruction of truth...", "pages": 368, "published": "2022-07-01", "genres": ["Classics", "Fiction", "Science Fiction", "Dystopia", "Literature"], "averageRating": 4.21, "ratingCount": 5815805, "shelf": "read", "rating": 10, "added": "2026-11-01" },
{ "goodreadsId": "170448", "title": "Animal Farm", "url": "https://www.goodreads.com/book/show/170448", "shelf": "read", "rating": 10, "added": "2026-11-01" },
{ "goodreadsId": "61439040", "title": "1984", "url": "https://www.goodreads.com/book/show/61439040", "shelf": "read", "rating": 10, "added": "2026-11-01" },
{
"goodreadsId": "13228487",
"url": "https://www.goodreads.com/book/show/13228487",
"title": "The Dragonet Prophecy (Wings of Fire, #1)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1339198070i/13228487.jpg",
"description": "A thrilling new series soars above the competition and redefines middle-grade fantasy fiction for a new generation!\n\nThe seven dragon tribes have been at war for generations, locked in an endless battle over an ancient, lost treasure. A secret movement called the Talons of Peace is determined to bring an end to the fighting, with the help of a prophecy -- a foretelling that calls for great sacrifice.\n\n\n\nFive dragonets are collected to fulfill the prophecy, raised in a hidden cave and enlisted, against their will, to end the terrible war.\n\n\n\nBut not every dragonet wants a destiny. And when the...",
"pages": 336,
"published": "2012-07-01",
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"],
"averageRating": 4.22,
"ratingCount": 88779,
"url": "https://www.goodreads.com/book/show/13228487",
"shelf": "read",
"rating": 7,
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 1" },
"rating": 7
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 1" }
},
{
"goodreadsId": "15809617",
"url": "https://www.goodreads.com/book/show/15809617",
"title": "The Lost Heir (Wings of Fire, #2)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1358266376i/15809617.jpg",
"description": "The WINGS OF FIRE saga continues with a thrilling underwater adventure -- and a mystery that will change everything!The lost heir to the SeaWing throne is going home at last...She can’t believe it’s finally happening. Tsunami and her fellow dragonets of destiny are journeying under the water to the great SeaWing Kingdom. Stolen as an egg from the royal hatchery, Tsunami is eager to meet her future subjects and reunite with her mother, Queen Coral.But Tsunami’s triumphant return doesn’t go quite the way she’d imagined. Queen Coral welcomes her with open wings, but a mysterious assassin has...",
"pages": 296,
"published": "2013-01-01",
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"],
"averageRating": 4.4,
"ratingCount": 53440,
"url": "https://www.goodreads.com/book/show/15809617",
"shelf": "read",
"rating": 8,
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 2" },
"rating": 8
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 2" }
},
{
"goodreadsId": "16100976",
"url": "https://www.goodreads.com/book/show/16100976",
"title": "The Hidden Kingdom (Wings of Fire, #3)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1364066230i/16100976.jpg",
"description": "The WINGS OF FIRE saga continues!\n\nDeep in the rain forest, danger awaits...\n\nGlory knows the dragon world is wrong about her tribe. After all, she isn't \"as lazy as a RainWing\" -- she isn't lazy at all! Maybe she wasn't meant to be one of the dragonets of destiny, as the older dragons constantly remind her, but Glory is sharp and her venom is deadly... except, of course, no one knows it.\n\nWhen the dragonets seek shelter in the rain forest, Glory is devastated to find that the treetops are full of RainWings that no dragon could ever call dangerous. They nap all day and know nothing of the...",
"pages": 336,
"published": "2013-05-28",
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"],
"averageRating": 4.48,
"ratingCount": 47654,
"url": "https://www.goodreads.com/book/show/16100976",
"shelf": "read",
"rating": 9,
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 3" },
"rating": 9
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 3" }
},
{
"goodreadsId": "17675467",
"url": "https://www.goodreads.com/book/show/17675467",
"title": "The Dark Secret (Wings of Fire, #4)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1368813111i/17675467.jpg",
"description": "The WINGS OF FIRE saga continues with a visit to the mysterious land of the NightWings, where Starflight must face a terrible choice---his home, or his friends?\n\nLike all the dragonets of destiny, Starflight has always wanted to see his home -- but he's also been afraid of his fellow NightWings. Starflight doesn't have mindreading powers like his tribe, and he doesn't understand why they're so secretive. No one has ever even seen the NightWing queen.\n\nBut now Starflight is the dragonets' only hope -- he must find a way to negotiate with his fellow NightWings to free the RainWing dragons...",
"pages": 336,
"published": "2013-10-29",
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"],
"averageRating": 4.36,
"ratingCount": 43095,
"url": "https://www.goodreads.com/book/show/17675467",
"shelf": "read",
"rating": 8,
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 4" },
"rating": 8
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 4" }
},
{
"goodreadsId": "18527497",
"url": "https://www.goodreads.com/book/show/18527497",
"title": "The Brightest Night (Wings of Fire, #5)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1389053585i/18527497.jpg",
"description": "The dragonets struggle to fulfill the prophecy and -- somehow -- end the war in this thrilling new installment of the bestselling WINGS OF FIRE series!\n\nIt all comes down to this: The Dragonets of Destiny must finally bring the epic war to an end, reconcile the seven tribes, and choose the next queen of Pyrrhia... and make it out alive.",
"pages": 336,
"published": "2014-03-25",
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"],
"averageRating": 4.52,
"ratingCount": 40874,
"url": "https://www.goodreads.com/book/show/18527497",
"shelf": "read",
"rating": 10,
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 5" },
"rating": 10
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 5" }
},
{
"goodreadsId": "22323659",
"url": "https://www.goodreads.com/book/show/22323659",
"title": "Moon Rising (Wings of Fire, #6)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1421370732i/22323659.jpg",
"description": "The New York Times-bestselling series soars to even greater heights with a new prophecy and five new dragonets ready to claim their destiny!\n\nPeace has come to Pyrrhia . . . for now.The war between the tribes is finally over, and now the dragonets of the prophecy have a plan for lasting Jade Mountain Academy, a school that will gather dragonets from all the tribes and teach them to live together, perhaps even as friends.Moonwatcher isn’t sure how she feels about school, however. Hidden in the rainforest for most of her life, the young NightWing has an awful secret. She can read minds, and...",
"pages": 336,
"published": "2014-12-30",
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"],
"averageRating": 4.55,
"ratingCount": 36854,
"url": "https://www.goodreads.com/book/show/22323659",
"shelf": "read",
"rating": 7,
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 6" },
"rating": 7
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 6" }
},
{
"goodreadsId": "23604435",
"url": "https://www.goodreads.com/book/show/23604435",
"title": "Winter Turning (Wings of Fire, #7)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1419320915i/23604435.jpg",
"description": "Daring mission... or deadly mistake?\n\nWinter has been a disappointment to his royal IceWing family his whole life. When his sister, Icicle, runs away from Jade Mountain Academy, fleeing terrible crimes and possibly planning to commit more, Winter knows that they both need a second chance to make things right -- if only he can find her. \n\nWinter’s new clawmates, Moon, Qibli, and Kinkajou, won’t let him make this dangerous journey alone. They don’t seem to understand that IceWings, the most superior of all dragon tribes, can fix their own problems. When their search leads the dragonets straight...",
"pages": 336,
"published": "2015-06-30",
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"],
"averageRating": 4.44,
"ratingCount": 34278,
"url": "https://www.goodreads.com/book/show/23604435",
"shelf": "read",
"rating": 7,
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 7" },
"rating": 7
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 7" }
},
{
"goodreadsId": "25711360",
"url": "https://www.goodreads.com/book/show/25711360",
"title": "Escaping Peril (Wings of Fire, #8)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1437899850i/25711360.jpg",
"description": "The New York Times and USA Today bestselling series soars to even greater heights with a new prophecy and five new dragonets ready to claim their destiny!Peril has been loyal to Queen Scarlet, who used her fatal firescales to kill countless dragons in the SkyWing arena. Now, Peril is loyal to Clay, the only dragonet who has ever been her friend. So when Scarlet threatens Jade Mountain Academy, Peril sets off to find her former queen, stop her, and save the day, no matter what it takes.There's just one a strangely persistent SeaWing, Turtle, insists on coming along, too. Turtle is worried...",
"pages": 260,
"published": "2015-12-29",
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"],
"averageRating": 4.46,
"ratingCount": 32456,
"url": "https://www.goodreads.com/book/show/25711360",
"shelf": "read",
"rating": 8,
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 8" },
"rating": 8
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 8" }
},
{
"goodreadsId": "29550388",
"url": "https://www.goodreads.com/book/show/29550388",
"title": "Talons of Power (Wings of Fire, #9)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1468226830i/29550388.jpg",
"description": "The war is over. The false prophecy has been fulfilled. But the dragonets still have enemies. A dark evil, buried for centuries, is stirring.\n\nAnd a young NightWing may have had the first true prophecy in generations . . .\n\nSomething is coming to shake the earth\nSomething is coming to scorch the ground\nJade Mountain will fall beneath thunder and ice\nUnless the lost city of night can be found.\n\nDon't miss the next chapter in the epic, bestselling Wings of Fire series!",
"pages": 336,
"published": "2016-12-27",
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"],
"averageRating": 4.48,
"ratingCount": 29715,
"url": "https://www.goodreads.com/book/show/29550388",
"shelf": "read",
"rating": 7,
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 9" },
"rating": 7
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 9" }
},
{
"goodreadsId": "33198183",
"url": "https://www.goodreads.com/book/show/33198183",
"title": "Darkness of Dragons (Wings of Fire, #10)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1481665982i/33198183.jpg",
"description": "An ancient evil, a terrible prophecy -- and five dragonets who could save the world...Don't miss the most thrilling adventure yet in the New York Times bestselling Wings of Fire series! Qibli knows Darkstalker must be stopped. And he knows he could stop him -- if he had magic. With even a sliver of the ancient dragon's all-powerful scroll, Qibli could rewrite history the right end war forever; make every dragon happy; perhaps even cast a very small spell so that everyone would like him...Instead, as Darkstalker's dangerous influence spreads across Pyrrhia, entrancing or killing every dragon...",
"pages": 336,
"published": "2017-07-25",
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"],
"averageRating": 4.53,
"ratingCount": 27543,
"url": "https://www.goodreads.com/book/show/33198183",
"shelf": "read",
"rating": 9,
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 10" },
"rating": 9
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 10" }
},
{
"goodreadsId": "35965782",
"url": "https://www.goodreads.com/book/show/35965782",
"title": "The Lost Continent (Wings of Fire, #11)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1518644206i/35965782.jpg",
"description": "For centuries there have been rumors of another continent on the dragons' planet -- another land far across the ocean, populated by tribes of dragons very different from those we know. But there's never been any evidence, and most dragons dismissed the rumors as fairy tales. Until now. Because it turns out the stories are true. And the other tribes are coming.",
"pages": null,
"published": null,
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"],
"averageRating": 4.41,
"ratingCount": 23048,
"url": "https://www.goodreads.com/book/show/35965782",
"shelf": "read",
"rating": 7,
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 11" },
"rating": 7
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 11" }
},
{
"goodreadsId": "39983543",
"url": "https://www.goodreads.com/book/show/39983543",
"title": "The Hive Queen (Wings of Fire, #12)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1537623438i/39983543.jpg",
"description": "Growing up in the hives, Cricket has always had a million questions. Why are trees forbidden, even in art? Why do her parents seem to hate her? And the biggest, most dangerous and secret question of all: why is Cricket immune to Queen Wasp's powers? Whenever the queen takes control of all the HiveWings, speaking through their mouths and seeing through their eyes, Cricket has to hide, terrified of being discovered. Now she's hiding again, wanted for stealing the Book of Clearsight along with her new SilkWing friends, Blue and Swordtail, and the fierce LeafWing, Sundew. The fugitives need...",
"pages": 286,
"published": "2018-12-26",
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Audiobook"],
"averageRating": 4.43,
"ratingCount": 20949,
"url": "https://www.goodreads.com/book/show/39983543",
"shelf": "read",
"rating": 8,
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 12" },
"rating": 8
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 12" }
},
{
"goodreadsId": "35965828",
"url": "https://www.goodreads.com/book/show/35965828",
"title": "The Poison Jungle (Wings of Fire, #13)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1549002227i/35965828.jpg",
"description": "Some secrets are deadly.\n\nIt's no secret that Sundew wants to destroy the HiveWings. It's her life's mission to exact revenge on the tribe that tried to wipe out the LeafWings and ripped every tree from the surface of Pantala.\n\nEvery tree, that is, except the wild and dangerous Poison Jungle, where the surviving LeafWings have been hiding since the war. Hiding, plotting, and waiting for a dragon like Sundew, who is uniquely qualified to bring down the Hives.\n\nThere are dark secrets in the jungle, though-some that Sundew is keeping, and some that she's only just beginning to discover. And now...",
"pages": 336,
"published": "2019-06-25",
"genres": ["Fantasy", "Middle Grade", "Dragons", "Fiction", "Young Adult"],
"averageRating": 4.38,
"ratingCount": 23462,
"url": "https://www.goodreads.com/book/show/35965828",
"shelf": "read",
"rating": 10,
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 13" },
"rating": 10
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 13" }
},
{
"goodreadsId": "49090511",
"url": "https://www.goodreads.com/book/show/49090511",
"title": "The Dangerous Gift (Wings of Fire, #14)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1602613751i/49090511.jpg",
"description": "The #1 New York Times bestselling series continues!\n\nSnowfall didn't expect to be queen of the IceWings at such a young age, but now that she is, she's going to be the best queen ever. All she has to do is keep her tribe within IceWing territory, where it's safe -- while keeping every other tribe out, where they belong.\n\nIt's a perfect and simple plan, backed up by all the IceWing magic Snowfall can find. That is, until a storm of unidentified dragons arrives on her shore, looking for asylum.\n\nThe foreigners are completely strange and, Snowfall is certain, utterly untrustworthy. But as she...",
"pages": 316,
"published": "2021-03-02",
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"],
"averageRating": 4.42,
"ratingCount": 16385,
"url": "https://www.goodreads.com/book/show/49090511",
"shelf": "want-to-read",
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 14" }
},
{
"goodreadsId": "57468679",
"url": "https://www.goodreads.com/book/show/57468679",
"title": "The Flames of Hope (Wings of Fire, #15)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1648003520i/57468679.jpg",
"description": "The #1 New York Times bestselling series is hotter than ever, and this thrilling conclusion to the Lost Continent Prophecy arc is a must-read!\n\nIn the last installment of the third arc of the Wings of Fire series, tensions are higher than ever as we prepare for a fight for the survival of all dragonkind!",
"pages": 330,
"published": "2022-04-05",
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Audiobook"],
"averageRating": 4.29,
"ratingCount": 13974,
"url": "https://www.goodreads.com/book/show/57468679",
"shelf": "want-to-read",
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 15" }
},
{
"goodreadsId": "232700898",
"url": "https://www.goodreads.com/book/show/232700898",
"title": "The Hybrid Prince (Wings of Fire #16)",
"authors": ["Tui T. Sutherland"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1777635896i/232700898.jpg",
"description": "The #1 New York Times bestselling series is back with a brand new arc! Discover what happens next in this thrilling addition to the Wings of Fire saga.Umber was never supposed to be a hero . . . .As the youngest sibling of his MudWing hatching, Umber doesn't have the responsibilities of his bigwings, Reed, nor the heroic destiny prophesied for his brother, Clay. He's always been content with his role as the cheerful, goofy, little brother. But when his sister, Sora, causes a tragedy at Jade Mountain Academy, Umber finds himself on the run and thrown into a whole new role--that of...",
"pages": 341,
"published": "2026-03-03",
"genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Audiobook"],
"averageRating": 4.36,
"ratingCount": 3484,
"url": "https://www.goodreads.com/book/show/232700898",
"shelf": "want-to-read",
"added": "2026-11-01",
"series": { "name": "Wings of Fire", "url": "https://www.goodreads.com/series/92037", "position": "Book 16" }
},
{
"goodreadsId": "13453029",
"url": "https://www.goodreads.com/book/show/13453029",
"title": "Wool Omnibus (Silo, #1)",
"authors": ["Hugh Howey"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1349614200i/13453029.jpg",
"description": "This Omnibus Edition collects the five Wool books into a single volume. \n\nThe first Wool story was released as a standalone short in July of 2011. Due to reviewer demand, the rest of the story was released over the next six months. \n\nThis is the story of mankind clawing for survival, of mankind on the edge. The world outside has grown unkind, the view of it limited, talk of it forbidden. But there are always those who hope, who dream. These are the dangerous people, the residents who infect others with their optimism. Their punishment is simple. They are given the very thing they profess to...",
"pages": 509,
"published": "2012-01-25",
"genres": ["Science Fiction", "Fiction", "Dystopia", "Post Apocalyptic", "Audiobook"],
"averageRating": 4.22,
"ratingCount": 297608,
"url": "https://www.goodreads.com/book/show/13453029",
"shelf": "want-to-read",
"added": "2026-11-01",
"series": { "name": "Silo", "url": "https://www.goodreads.com/series/70647", "position": "Book 1" }
},
{
"goodreadsId": "17306293",
"url": "https://www.goodreads.com/book/show/17306293",
"title": "Shift (Silo, #2)",
"authors": ["Hugh Howey"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1379003176i/17306293.jpg",
"description": "Shift goes back to show the first days of the Silo, and the beginning of the end In 2007, the Center for Automation in Nanobiotech (CAN) outlined the hardware and software platforms that would one day allow robots smaller than human cells to make medical diagnoses, conduct repairs, and even self-propagate. In the same year, the CBS network re-aired a program about the effects of propranolol on sufferers of extreme trauma. A simple pill, it had been discovered, could wipe out the memory of any traumatic event. At almost the same moment in humanity’s broad history, humankind discovered the...",
"pages": 579,
"published": "2013-01-28",
"genres": ["Science Fiction", "Fiction", "Dystopia", "Audiobook", "Post Apocalyptic"],
"averageRating": 4.12,
"ratingCount": 171992,
"url": "https://www.goodreads.com/book/show/17306293",
"shelf": "want-to-read",
"added": "2026-11-01",
"series": { "name": "Silo", "url": "https://www.goodreads.com/series/70647", "position": "Book 2" }
},
{
"goodreadsId": "18866705",
"url": "https://www.goodreads.com/book/show/18866705",
"title": "Dust (Silo, #3)",
"authors": ["Hugh Howey"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1436806122i/18866705.jpg",
"description": "The much-anticipated final instalment of the Wool trilogy.\n\nIn the aftermath of the uprising, the people of Silo 18 are coming to terms with a new order. \n\nSome embrace the change, others fear the unknown; none have control of their fate.\n\nThe Silo is still in danger.\n\nThere are those set on its destruction.\n\nJules knows they must be stopped.\n\nThe battle has been won.\n\nThe war is just beginning.",
"pages": 416,
"published": "2013-08-17",
"genres": ["Science Fiction", "Fiction", "Dystopia", "Post Apocalyptic", "Audiobook"],
"averageRating": 4.22,
"ratingCount": 153493,
"url": "https://www.goodreads.com/book/show/18866705",
"shelf": "want-to-read",
"added": "2026-11-01",
"series": { "name": "Silo", "url": "https://www.goodreads.com/series/70647", "position": "Book 3" }
},
{
"goodreadsId": "37781",
"url": "https://www.goodreads.com/book/show/37781",
"title": "Things Fall Apart (The African Trilogy, #1)",
"authors": ["Chinua Achebe"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1708114013i/37781.jpg",
"description": "“A true classic of world literature . . . A masterpiece that has inspired generations of writers in Nigeria, across Africa, and around the world.” —Barack Obama\n\n“African literature is incomplete and unthinkable without the works of Chinua Achebe.” —Toni Morrison\n\n\"A magical writer—one of the greats of the twentieth century.\" —Margaret Atwood\n\nNamed one of America's most-loved novels by PBS’s The Great American Read\n\nThings Fall Apart is the first of three novels in Chinua Achebe's critically acclaimed African Trilogy. It is a classic narrative about Africa's cataclysmic encounter with Europe...",
"pages": 215,
"published": "1994-10-01",
"genres": ["Fiction", "Classics", "Historical Fiction", "Africa", "School"],
"averageRating": 3.75,
"ratingCount": 428943,
"url": "https://www.goodreads.com/book/show/37781",
"shelf": "read",
"rating": 9,
"added": "2026-11-01",
"series": { "name": "The African Trilogy", "url": "https://www.goodreads.com/series/168203", "position": "Book 1" },
"rating": 9
"series": { "name": "The African Trilogy", "url": "https://www.goodreads.com/series/168203", "position": "Book 1" }
},
{
"goodreadsId": "37774",
"url": "https://www.goodreads.com/book/show/37774",
"title": "Arrow of God (The African Trilogy, #2)",
"authors": ["Chinua Achebe"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1708114068i/37774.jpg",
"description": "Set in the Igbo heartland of eastern Nigeria, one of Africa's best-known writers describes the conflict between old and new in its most poignant aspect: the personal struggle between father and son.\n\nEzeulu, the headstrong chief priest of the god Ulu, is worshipped by the six villages of Umuaro. But his authority is increasingly under threat—from rivals within his tribe, from functionaries of the colonial government, and even from his own family members. Yet he believes himself to be untouchable: surely he is an arrow in the bow of his God? Armed with this belief, he is prepared to lead his...",
"pages": 230,
"published": "1989-01-01",
"genres": ["Fiction", "Africa", "Classics", "Historical Fiction", "African Literature"],
"averageRating": 3.79,
"ratingCount": 9927,
"url": "https://www.goodreads.com/book/show/37774",
"shelf": "read",
"rating": 8,
"added": "2026-11-01",
"series": { "name": "The African Trilogy", "url": "https://www.goodreads.com/series/168203", "position": "Book 2" },
"rating": 8
"series": { "name": "The African Trilogy", "url": "https://www.goodreads.com/series/168203", "position": "Book 2" }
},
{
"goodreadsId": "111085",
"url": "https://www.goodreads.com/book/show/111085",
"title": "No Longer at Ease (The African Trilogy, #3)",
"authors": ["Chinua Achebe"],
"cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1708114041i/111085.jpg",
"description": "An alternate cover for this ISBN can be found here.\n\nObi Okonkwo is an idealistic young man who has now returned to Nigeria for a job in the civil service. However in his new role he finds that the way of government seems to be corruption. Obi manages to resist the bribes offered to him, but when he falls in love with an unsuitable girl, he sinks further into emotional and financial turmoil.",
"pages": 196,
"published": "1994-09-16",
"genres": ["Fiction", "Africa", "Classics", "Historical Fiction", "Nigeria"],
"averageRating": 3.87,
"ratingCount": 13698,
"url": "https://www.goodreads.com/book/show/111085",
"shelf": "read",
"rating": 8,
"added": "2026-11-01",
"series": { "name": "The African Trilogy", "url": "https://www.goodreads.com/series/168203", "position": "Book 3" },
"rating": 8
"series": { "name": "The African Trilogy", "url": "https://www.goodreads.com/series/168203", "position": "Book 3" }
},
{ "goodreadsId": "22875069", "url": "https://www.goodreads.com/book/show/22875069", "title": "I Will Always Write Back: How One Letter Changed Two Lives", "authors": ["Caitlin Alifirenka", "Liz Welch", "Martin Ganda"], "cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1415206347i/22875069.jpg", "description": "The true story of an all-American girl and a boy from an impoverished city in Zimbabwe and the letter that changed both of their lives forever.\n\nIt started as an assignment. Everyone in Caitlin's class wrote to an unknown student somewhere in a distant place. All the other kids picked countries like France or Germany, but when Caitlin saw Zimbabwe written on the board, it sounded like the most exotic place she had ever heard of--so she chose it. \nMartin was lucky to even receive a pen pal letter. There were only ten letters, and forty kids in his class. But he was the top student, so he got...", "pages": 392, "published": "2015-04-14", "genres": ["Nonfiction", "Memoir", "Book Club", "Audiobook", "Biography"], "averageRating": 4.38, "ratingCount": 31650, "shelf": "read", "rating": 9, "added": "2026-11-01" },
{ "goodreadsId": "33118312", "url": "https://www.goodreads.com/book/show/33118312", "title": "Refugee", "authors": ["Alan Gratz"], "cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1487620933i/33118312.jpg", "description": "JOSEF is a Jewish boy living in 1930s Nazi Germany. With the threat of concentration camps looming, he and his family board a ship bound for the other side of the world...\n\nISABEL is a Cuban girl in 1994. With riots and unrest plaguing her country, she and her family set out on a raft, hoping to find safety in America...\n\nMAHMOUD is a Syrian boy in 2015. With his homeland torn apart by violence and destruction, he and his family begin a long trek toward Europe...\n\nAll three kids go on harrowing journeys in search of refuge. All will face unimaginable dangers -- from drownings to bombings to...", "pages": 352, "published": "2017-07-25", "genres": ["Historical Fiction", "Young Adult", "Middle Grade", "Fiction", "Historical"], "averageRating": 4.35, "ratingCount": 87957, "shelf": "read", "rating": 7, "added": "2026-11-01" },
{ "goodreadsId": "1381", "url": "https://www.goodreads.com/book/show/1381", "title": "The Odyssey", "authors": ["Homer"], "cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1711957706i/1381.jpg", "description": "Sing to me of the man, Muse, the man of twists and turns\ndriven time and again off course, once he had plundered\nthe hallowed heights of Troy.\n\nSo begins Robert Fagles's magnificent translation of the Odyssey.\n\nIf The Iliad is the world's greatest war epic, The Odyssey is literature's grandest evocation of the everyman's journey through life. During his ten-year voyage home to Ithaca after the Trojan War, Odysseus relies on his wit and wiles for survival in his encounters with divine and natural forces.\n\nIn the myths and legends retold here, Fagles has captured the energy and poetry of...", "pages": 541, "published": "2006-10-31", "genres": ["Classics", "Fiction", "Poetry", "Mythology", "Fantasy"], "averageRating": 3.86, "ratingCount": 1299443, "shelf": "read", "rating": 9, "added": "2026-11-01" },
{ "goodreadsId": "38631641", "url": "https://www.goodreads.com/book/show/38631641", "title": "The lliad", "authors": ["Homer"], "cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1519449125i/38631641.jpg", "description": "The Iliad Ancient Greek: Ilias, pronounced [i?.li.as] in Classical Attic; sometimes referred to as the Song of Ilion or Song of Ilium) is an ancient Greek epic poem in dactylic hexameter, traditionally attributed to Homer. Set during the Trojan War, the ten-year siege of the city of Troy (Ilium) by a coalition of Greek states, it tells of the battles and events during the weeks of a quarrel between King Agamemnon and the warrior Achilles.", "pages": 734, "published": "2018-02-17", "genres": ["Classics", "Poetry", "Fiction", "Mythology", "Literature"], "averageRating": 3.94, "ratingCount": 542114, "shelf": "read", "rating": 7, "added": "2026-11-01" },
{ "goodreadsId": "35031085", "url": "https://www.goodreads.com/book/show/35031085", "title": "Frankenstein", "authors": ["Mary Wollstonecraft Shelley"], "cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1631088473i/35031085.jpg", "description": "Mary Shelley's seminal novel of the scientist whose creation becomes a monster. \n\nThis edition is the original 1818 text, which preserves the hard-hitting and politically charged aspects of Shelley's original writing, as well as her unflinching wit and strong female voice. This edition also includes a new introduction and suggestions for further reading by author and Shelley expert Charlotte Gordon, literary excerpts and reviews selected by Gordon and a chronology and essay by preeminent Shelley scholar Charles E. Robinson.", "pages": 260, "published": "2018-01-16", "genres": ["Classics", "Horror", "Fiction", "Science Fiction", "Gothic"], "averageRating": 3.93, "ratingCount": 2031053, "shelf": "read", "rating": 10, "added": "2026-11-01" },
{ "goodreadsId": "41733839", "url": "https://www.goodreads.com/book/show/41733839", "title": "The Great Gatsby", "authors": ["F. Scott Fitzgerald"], "cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1650033243i/41733839.jpg", "description": "Alternate covers of this ISBN can be found here, here and here.\n\nJames L. W. West III to include the author’s final revisions and features a note on the composition and text, a personal foreword by Fitzgerald’s granddaughter, Eleanor Lanahan—and a new introduction by two-time National Book Award winner Jesmyn Ward. \n\nThe Great Gatsby, F. Scott Fitzgerald’s third book, stands as the supreme achievement of his career. First published in 1925, this quintessential novel of the Jazz Age has been acclaimed by generations of readers. The story of the mysteriously wealthy Jay Gatsby and his love for...", "pages": 180, "published": "2018-04-01", "genres": ["Classics", "Fiction", "School", "Historical Fiction", "Romance"], "averageRating": 3.92, "ratingCount": 6178246, "shelf": "read", "rating": 6, "added": "2026-11-01" },
{ "goodreadsId": "192566704", "url": "https://www.goodreads.com/book/show/192566704", "title": "The Outsiders", "authors": ["S.E. Hinton"], "cover": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1689626520i/192566704.jpg", "description": "No one ever said life was easy. But Ponyboy is pretty sure that he's got things figured out. He knows that he can count on his brothers, Darry and Sodapop. And he knows that he can count on his friends - true friends who would do anything for him, like Johnny and Two-Bit. And when it comes to the beating up on \"greasers\" like him and his friends - he knows that he can count on them for trouble. But one night someone takes things too far, and Ponyboy's world is turned upside down...", "pages": 214, "published": "2021-01-01", "genres": ["Classics", "Young Adult", "Fiction", "School", "Read For School"], "averageRating": 4.15, "ratingCount": 1702819, "shelf": "read", "rating": 9, "added": "2026-11-01" }
{ "goodreadsId": "22875069", "title": "I Will Always Write Back: How One Letter Changed Two Lives", "url": "https://www.goodreads.com/book/show/22875069", "shelf": "read", "rating": 9, "added": "2026-11-01" },
{ "goodreadsId": "33118312", "title": "Refugee", "url": "https://www.goodreads.com/book/show/33118312", "shelf": "read", "rating": 7, "added": "2026-11-01" },
{ "goodreadsId": "1381", "title": "The Odyssey", "url": "https://www.goodreads.com/book/show/1381", "shelf": "read", "rating": 9, "added": "2026-11-01" },
{ "goodreadsId": "38631641", "title": "The lliad", "url": "https://www.goodreads.com/book/show/38631641", "shelf": "read", "rating": 7, "added": "2026-11-01" },
{ "goodreadsId": "35031085", "title": "Frankenstein", "url": "https://www.goodreads.com/book/show/35031085", "shelf": "read", "rating": 10, "added": "2026-11-01" },
{ "goodreadsId": "41733839", "title": "The Great Gatsby", "url": "https://www.goodreads.com/book/show/41733839", "shelf": "read", "rating": 6, "added": "2026-11-01" },
{ "goodreadsId": "192566704", "title": "The Outsiders", "url": "https://www.goodreads.com/book/show/192566704", "shelf": "read", "rating": 9, "added": "2026-11-01" },
{
"goodreadsId": "6186357",
"title": "The Maze Runner (The Maze Runner, #1)",
"url": "https://www.goodreads.com/book/show/6186357",
"shelf": "read",
"rating": 10,
"added": "2026-11-01",
"series": { "name": "The Maze Runner", "url": "https://www.goodreads.com/series/110451", "position": "Book 1" }
},
{
"goodreadsId": "7631105",
"title": "The Scorch Trials (The Maze Runner, #2)",
"url": "https://www.goodreads.com/book/show/7631105",
"shelf": "read",
"rating": 7,
"added": "2026-11-01",
"series": { "name": "The Maze Runner", "url": "https://www.goodreads.com/series/110451", "position": "Book 2" }
},
{
"goodreadsId": "7864437",
"title": "The Death Cure (The Maze Runner, #3)",
"url": "https://www.goodreads.com/book/show/7864437",
"shelf": "read",
"rating": 10,
"added": "2026-11-01",
"series": { "name": "The Maze Runner", "url": "https://www.goodreads.com/series/110451", "position": "Book 3" }
},
{ "goodreadsId": "40495148", "title": "Blindness", "url": "https://www.goodreads.com/book/show/40495148", "shelf": "read", "rating": 8, "added": "2026-11-01" },
{ "goodreadsId": "61102615", "title": "Stone Blind", "url": "https://www.goodreads.com/book/show/61102615", "shelf": "want-to-read", "added": "2026-11-01" },
{ "goodreadsId": "34454589", "title": "The Handmaid's Tale", "url": "https://www.goodreads.com/book/show/34454589", "shelf": "read", "rating": 8, "added": "2026-11-01" }
]
+39
View File
@@ -0,0 +1,39 @@
{
"170448": { "authors": ["George Orwell"], "cover": "/covers/books/170448.jpg", "description": "Animal Farm is the most famous by far of all twentieth-century political allegories. Its account of a group of barnyard animals who revolt against their vicious human master, only to submit to a tyranny erected by their own kind, can fairly be said to have become a universal drama. Orwell is one of the very few modern satirists comparable to Jonathan Swift in power, artistry, and moral authority; in animal farm his spare prose and the logic of his dark comedy brilliantly highlight his stark message.\n \nTaking as his starting point the betrayed promise of the Russian Revolution, Orwell lays out...", "pages": 141, "published": "1996-04-01", "genres": ["Classics", "Fiction", "Dystopia", "Fantasy", "School"], "averageRating": 4.03, "ratingCount": 4853138, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1325861570i/170448.jpg" },
"61439040": { "authors": ["George Orwell"], "cover": "/covers/books/61439040.jpg", "description": "A masterpiece of rebellion and imprisonment where war is peace freedom is slavery and Big Brother is watching. Thought Police, Big Brother, Orwellian - these words have entered our vocabulary because of George Orwell's classic dystopian novel 1984. The story of one man's Nightmare Odyssey as he pursues a forbidden love affair through a world ruled by warring states and a power structure that controls not only information but also individual thought and memory 1984 is a prophetic haunting tale More relevant than ever before 1984 exposes the worst crimes imaginable the destruction of truth...", "pages": 368, "published": "2022-07-01", "genres": ["Classics", "Fiction", "Science Fiction", "Dystopia", "Literature"], "averageRating": 4.21, "ratingCount": 5815805, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1657781256i/61439040.jpg" },
"13228487": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/13228487.jpg", "description": "A thrilling new series soars above the competition and redefines middle-grade fantasy fiction for a new generation!\n\nThe seven dragon tribes have been at war for generations, locked in an endless battle over an ancient, lost treasure. A secret movement called the Talons of Peace is determined to bring an end to the fighting, with the help of a prophecy -- a foretelling that calls for great sacrifice.\n\n\n\nFive dragonets are collected to fulfill the prophecy, raised in a hidden cave and enlisted, against their will, to end the terrible war.\n\n\n\nBut not every dragonet wants a destiny. And when the...", "pages": 336, "published": "2012-07-01", "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"], "averageRating": 4.22, "ratingCount": 88779, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1339198070i/13228487.jpg" },
"15809617": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/15809617.jpg", "description": "The WINGS OF FIRE saga continues with a thrilling underwater adventure -- and a mystery that will change everything!The lost heir to the SeaWing throne is going home at last...She can’t believe it’s finally happening. Tsunami and her fellow dragonets of destiny are journeying under the water to the great SeaWing Kingdom. Stolen as an egg from the royal hatchery, Tsunami is eager to meet her future subjects and reunite with her mother, Queen Coral.But Tsunami’s triumphant return doesn’t go quite the way she’d imagined. Queen Coral welcomes her with open wings, but a mysterious assassin has...", "pages": 296, "published": "2013-01-01", "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"], "averageRating": 4.4, "ratingCount": 53440, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1358266376i/15809617.jpg" },
"16100976": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/16100976.jpg", "description": "The WINGS OF FIRE saga continues!\n\nDeep in the rain forest, danger awaits...\n\nGlory knows the dragon world is wrong about her tribe. After all, she isn't \"as lazy as a RainWing\" -- she isn't lazy at all! Maybe she wasn't meant to be one of the dragonets of destiny, as the older dragons constantly remind her, but Glory is sharp and her venom is deadly... except, of course, no one knows it.\n\nWhen the dragonets seek shelter in the rain forest, Glory is devastated to find that the treetops are full of RainWings that no dragon could ever call dangerous. They nap all day and know nothing of the...", "pages": 336, "published": "2013-05-28", "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"], "averageRating": 4.48, "ratingCount": 47654, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1364066230i/16100976.jpg" },
"17675467": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/17675467.jpg", "description": "The WINGS OF FIRE saga continues with a visit to the mysterious land of the NightWings, where Starflight must face a terrible choice---his home, or his friends?\n\nLike all the dragonets of destiny, Starflight has always wanted to see his home -- but he's also been afraid of his fellow NightWings. Starflight doesn't have mindreading powers like his tribe, and he doesn't understand why they're so secretive. No one has ever even seen the NightWing queen.\n\nBut now Starflight is the dragonets' only hope -- he must find a way to negotiate with his fellow NightWings to free the RainWing dragons...", "pages": 336, "published": "2013-10-29", "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"], "averageRating": 4.36, "ratingCount": 43095, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1368813111i/17675467.jpg" },
"18527497": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/18527497.jpg", "description": "The dragonets struggle to fulfill the prophecy and -- somehow -- end the war in this thrilling new installment of the bestselling WINGS OF FIRE series!\n\nIt all comes down to this: The Dragonets of Destiny must finally bring the epic war to an end, reconcile the seven tribes, and choose the next queen of Pyrrhia... and make it out alive.", "pages": 336, "published": "2014-03-25", "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"], "averageRating": 4.52, "ratingCount": 40874, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1389053585i/18527497.jpg" },
"22323659": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/22323659.jpg", "description": "The New York Times-bestselling series soars to even greater heights with a new prophecy and five new dragonets ready to claim their destiny!\n\nPeace has come to Pyrrhia . . . for now.The war between the tribes is finally over, and now the dragonets of the prophecy have a plan for lasting Jade Mountain Academy, a school that will gather dragonets from all the tribes and teach them to live together, perhaps even as friends.Moonwatcher isn’t sure how she feels about school, however. Hidden in the rainforest for most of her life, the young NightWing has an awful secret. She can read minds, and...", "pages": 336, "published": "2014-12-30", "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"], "averageRating": 4.55, "ratingCount": 36854, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1421370732i/22323659.jpg" },
"23604435": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/23604435.jpg", "description": "Daring mission... or deadly mistake?\n\nWinter has been a disappointment to his royal IceWing family his whole life. When his sister, Icicle, runs away from Jade Mountain Academy, fleeing terrible crimes and possibly planning to commit more, Winter knows that they both need a second chance to make things right -- if only he can find her. \n\nWinter’s new clawmates, Moon, Qibli, and Kinkajou, won’t let him make this dangerous journey alone. They don’t seem to understand that IceWings, the most superior of all dragon tribes, can fix their own problems. When their search leads the dragonets straight...", "pages": 336, "published": "2015-06-30", "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"], "averageRating": 4.44, "ratingCount": 34278, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1419320915i/23604435.jpg" },
"25711360": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/25711360.jpg", "description": "The New York Times and USA Today bestselling series soars to even greater heights with a new prophecy and five new dragonets ready to claim their destiny!Peril has been loyal to Queen Scarlet, who used her fatal firescales to kill countless dragons in the SkyWing arena. Now, Peril is loyal to Clay, the only dragonet who has ever been her friend. So when Scarlet threatens Jade Mountain Academy, Peril sets off to find her former queen, stop her, and save the day, no matter what it takes.There's just one a strangely persistent SeaWing, Turtle, insists on coming along, too. Turtle is worried...", "pages": 260, "published": "2015-12-29", "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"], "averageRating": 4.46, "ratingCount": 32456, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1437899850i/25711360.jpg" },
"29550388": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/29550388.jpg", "description": "The war is over. The false prophecy has been fulfilled. But the dragonets still have enemies. A dark evil, buried for centuries, is stirring.\n\nAnd a young NightWing may have had the first true prophecy in generations . . .\n\nSomething is coming to shake the earth\nSomething is coming to scorch the ground\nJade Mountain will fall beneath thunder and ice\nUnless the lost city of night can be found.\n\nDon't miss the next chapter in the epic, bestselling Wings of Fire series!", "pages": 336, "published": "2016-12-27", "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"], "averageRating": 4.48, "ratingCount": 29715, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1468226830i/29550388.jpg" },
"33198183": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/33198183.jpg", "description": "An ancient evil, a terrible prophecy -- and five dragonets who could save the world...Don't miss the most thrilling adventure yet in the New York Times bestselling Wings of Fire series! Qibli knows Darkstalker must be stopped. And he knows he could stop him -- if he had magic. With even a sliver of the ancient dragon's all-powerful scroll, Qibli could rewrite history the right end war forever; make every dragon happy; perhaps even cast a very small spell so that everyone would like him...Instead, as Darkstalker's dangerous influence spreads across Pyrrhia, entrancing or killing every dragon...", "pages": 336, "published": "2017-07-25", "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"], "averageRating": 4.53, "ratingCount": 27543, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1481665982i/33198183.jpg" },
"35965782": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/35965782.jpg", "description": "For centuries there have been rumors of another continent on the dragons' planet -- another land far across the ocean, populated by tribes of dragons very different from those we know. But there's never been any evidence, and most dragons dismissed the rumors as fairy tales. Until now. Because it turns out the stories are true. And the other tribes are coming.", "pages": null, "published": null, "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"], "averageRating": 4.41, "ratingCount": 23048, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1518644206i/35965782.jpg" },
"39983543": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/39983543.jpg", "description": "Growing up in the hives, Cricket has always had a million questions. Why are trees forbidden, even in art? Why do her parents seem to hate her? And the biggest, most dangerous and secret question of all: why is Cricket immune to Queen Wasp's powers? Whenever the queen takes control of all the HiveWings, speaking through their mouths and seeing through their eyes, Cricket has to hide, terrified of being discovered. Now she's hiding again, wanted for stealing the Book of Clearsight along with her new SilkWing friends, Blue and Swordtail, and the fierce LeafWing, Sundew. The fugitives need...", "pages": 286, "published": "2018-12-26", "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Audiobook"], "averageRating": 4.43, "ratingCount": 20949, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1537623438i/39983543.jpg" },
"35965828": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/35965828.jpg", "description": "Some secrets are deadly.\n\nIt's no secret that Sundew wants to destroy the HiveWings. It's her life's mission to exact revenge on the tribe that tried to wipe out the LeafWings and ripped every tree from the surface of Pantala.\n\nEvery tree, that is, except the wild and dangerous Poison Jungle, where the surviving LeafWings have been hiding since the war. Hiding, plotting, and waiting for a dragon like Sundew, who is uniquely qualified to bring down the Hives.\n\nThere are dark secrets in the jungle, though-some that Sundew is keeping, and some that she's only just beginning to discover. And now...", "pages": 336, "published": "2019-06-25", "genres": ["Fantasy", "Middle Grade", "Dragons", "Fiction", "Young Adult"], "averageRating": 4.38, "ratingCount": 23462, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1549002227i/35965828.jpg" },
"49090511": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/49090511.jpg", "description": "The #1 New York Times bestselling series continues!\n\nSnowfall didn't expect to be queen of the IceWings at such a young age, but now that she is, she's going to be the best queen ever. All she has to do is keep her tribe within IceWing territory, where it's safe -- while keeping every other tribe out, where they belong.\n\nIt's a perfect and simple plan, backed up by all the IceWing magic Snowfall can find. That is, until a storm of unidentified dragons arrives on her shore, looking for asylum.\n\nThe foreigners are completely strange and, Snowfall is certain, utterly untrustworthy. But as she...", "pages": 316, "published": "2021-03-02", "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Childrens"], "averageRating": 4.42, "ratingCount": 16385, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1602613751i/49090511.jpg" },
"57468679": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/57468679.jpg", "description": "The #1 New York Times bestselling series is hotter than ever, and this thrilling conclusion to the Lost Continent Prophecy arc is a must-read!\n\nIn the last installment of the third arc of the Wings of Fire series, tensions are higher than ever as we prepare for a fight for the survival of all dragonkind!", "pages": 330, "published": "2022-04-05", "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Audiobook"], "averageRating": 4.29, "ratingCount": 13974, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1648003520i/57468679.jpg" },
"232700898": { "authors": ["Tui T. Sutherland"], "cover": "/covers/books/232700898.jpg", "description": "The #1 New York Times bestselling series is back with a brand new arc! Discover what happens next in this thrilling addition to the Wings of Fire saga.Umber was never supposed to be a hero . . . .As the youngest sibling of his MudWing hatching, Umber doesn't have the responsibilities of his bigwings, Reed, nor the heroic destiny prophesied for his brother, Clay. He's always been content with his role as the cheerful, goofy, little brother. But when his sister, Sora, causes a tragedy at Jade Mountain Academy, Umber finds himself on the run and thrown into a whole new role--that of...", "pages": 341, "published": "2026-03-03", "genres": ["Fantasy", "Dragons", "Middle Grade", "Fiction", "Audiobook"], "averageRating": 4.36, "ratingCount": 3484, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1777635896i/232700898.jpg" },
"13453029": { "authors": ["Hugh Howey"], "cover": "/covers/books/13453029.jpg", "description": "This Omnibus Edition collects the five Wool books into a single volume. \n\nThe first Wool story was released as a standalone short in July of 2011. Due to reviewer demand, the rest of the story was released over the next six months. \n\nThis is the story of mankind clawing for survival, of mankind on the edge. The world outside has grown unkind, the view of it limited, talk of it forbidden. But there are always those who hope, who dream. These are the dangerous people, the residents who infect others with their optimism. Their punishment is simple. They are given the very thing they profess to...", "pages": 509, "published": "2012-01-25", "genres": ["Science Fiction", "Fiction", "Dystopia", "Post Apocalyptic", "Audiobook"], "averageRating": 4.22, "ratingCount": 297608, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1349614200i/13453029.jpg" },
"17306293": { "authors": ["Hugh Howey"], "cover": "/covers/books/17306293.jpg", "description": "Shift goes back to show the first days of the Silo, and the beginning of the end In 2007, the Center for Automation in Nanobiotech (CAN) outlined the hardware and software platforms that would one day allow robots smaller than human cells to make medical diagnoses, conduct repairs, and even self-propagate. In the same year, the CBS network re-aired a program about the effects of propranolol on sufferers of extreme trauma. A simple pill, it had been discovered, could wipe out the memory of any traumatic event. At almost the same moment in humanity’s broad history, humankind discovered the...", "pages": 579, "published": "2013-01-28", "genres": ["Science Fiction", "Fiction", "Dystopia", "Audiobook", "Post Apocalyptic"], "averageRating": 4.12, "ratingCount": 171992, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1379003176i/17306293.jpg" },
"18866705": { "authors": ["Hugh Howey"], "cover": "/covers/books/18866705.jpg", "description": "The much-anticipated final instalment of the Wool trilogy.\n\nIn the aftermath of the uprising, the people of Silo 18 are coming to terms with a new order. \n\nSome embrace the change, others fear the unknown; none have control of their fate.\n\nThe Silo is still in danger.\n\nThere are those set on its destruction.\n\nJules knows they must be stopped.\n\nThe battle has been won.\n\nThe war is just beginning.", "pages": 416, "published": "2013-08-17", "genres": ["Science Fiction", "Fiction", "Dystopia", "Post Apocalyptic", "Audiobook"], "averageRating": 4.22, "ratingCount": 153493, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1436806122i/18866705.jpg" },
"37781": { "authors": ["Chinua Achebe"], "cover": "/covers/books/37781.jpg", "description": "“A true classic of world literature . . . A masterpiece that has inspired generations of writers in Nigeria, across Africa, and around the world.” —Barack Obama\n\n“African literature is incomplete and unthinkable without the works of Chinua Achebe.” —Toni Morrison\n\n\"A magical writer—one of the greats of the twentieth century.\" —Margaret Atwood\n\nNamed one of America's most-loved novels by PBS’s The Great American Read\n\nThings Fall Apart is the first of three novels in Chinua Achebe's critically acclaimed African Trilogy. It is a classic narrative about Africa's cataclysmic encounter with Europe...", "pages": 215, "published": "1994-10-01", "genres": ["Fiction", "Classics", "Historical Fiction", "Africa", "School"], "averageRating": 3.75, "ratingCount": 428943, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1708114013i/37781.jpg" },
"37774": { "authors": ["Chinua Achebe"], "cover": "/covers/books/37774.jpg", "description": "Set in the Igbo heartland of eastern Nigeria, one of Africa's best-known writers describes the conflict between old and new in its most poignant aspect: the personal struggle between father and son.\n\nEzeulu, the headstrong chief priest of the god Ulu, is worshipped by the six villages of Umuaro. But his authority is increasingly under threat—from rivals within his tribe, from functionaries of the colonial government, and even from his own family members. Yet he believes himself to be untouchable: surely he is an arrow in the bow of his God? Armed with this belief, he is prepared to lead his...", "pages": 230, "published": "1989-01-01", "genres": ["Fiction", "Africa", "Classics", "Historical Fiction", "African Literature"], "averageRating": 3.79, "ratingCount": 9927, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1708114068i/37774.jpg" },
"111085": { "authors": ["Chinua Achebe"], "cover": "/covers/books/111085.jpg", "description": "An alternate cover for this ISBN can be found here.\n\nObi Okonkwo is an idealistic young man who has now returned to Nigeria for a job in the civil service. However in his new role he finds that the way of government seems to be corruption. Obi manages to resist the bribes offered to him, but when he falls in love with an unsuitable girl, he sinks further into emotional and financial turmoil.", "pages": 196, "published": "1994-09-16", "genres": ["Fiction", "Africa", "Classics", "Historical Fiction", "Nigeria"], "averageRating": 3.87, "ratingCount": 13698, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1708114041i/111085.jpg" },
"22875069": { "authors": ["Caitlin Alifirenka", "Liz Welch", "Martin Ganda"], "cover": "/covers/books/22875069.jpg", "description": "The true story of an all-American girl and a boy from an impoverished city in Zimbabwe and the letter that changed both of their lives forever.\n\nIt started as an assignment. Everyone in Caitlin's class wrote to an unknown student somewhere in a distant place. All the other kids picked countries like France or Germany, but when Caitlin saw Zimbabwe written on the board, it sounded like the most exotic place she had ever heard of--so she chose it. \nMartin was lucky to even receive a pen pal letter. There were only ten letters, and forty kids in his class. But he was the top student, so he got...", "pages": 392, "published": "2015-04-14", "genres": ["Nonfiction", "Memoir", "Book Club", "Audiobook", "Biography"], "averageRating": 4.38, "ratingCount": 31650, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1415206347i/22875069.jpg" },
"33118312": { "authors": ["Alan Gratz"], "cover": "/covers/books/33118312.jpg", "description": "JOSEF is a Jewish boy living in 1930s Nazi Germany. With the threat of concentration camps looming, he and his family board a ship bound for the other side of the world...\n\nISABEL is a Cuban girl in 1994. With riots and unrest plaguing her country, she and her family set out on a raft, hoping to find safety in America...\n\nMAHMOUD is a Syrian boy in 2015. With his homeland torn apart by violence and destruction, he and his family begin a long trek toward Europe...\n\nAll three kids go on harrowing journeys in search of refuge. All will face unimaginable dangers -- from drownings to bombings to...", "pages": 352, "published": "2017-07-25", "genres": ["Historical Fiction", "Young Adult", "Middle Grade", "Fiction", "Historical"], "averageRating": 4.35, "ratingCount": 87957, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1487620933i/33118312.jpg" },
"1381": { "authors": ["Homer"], "cover": "/covers/books/1381.jpg", "description": "Sing to me of the man, Muse, the man of twists and turns\ndriven time and again off course, once he had plundered\nthe hallowed heights of Troy.\n\nSo begins Robert Fagles's magnificent translation of the Odyssey.\n\nIf The Iliad is the world's greatest war epic, The Odyssey is literature's grandest evocation of the everyman's journey through life. During his ten-year voyage home to Ithaca after the Trojan War, Odysseus relies on his wit and wiles for survival in his encounters with divine and natural forces.\n\nIn the myths and legends retold here, Fagles has captured the energy and poetry of...", "pages": 541, "published": "2006-10-31", "genres": ["Classics", "Fiction", "Poetry", "Mythology", "Fantasy"], "averageRating": 3.86, "ratingCount": 1299443, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1711957706i/1381.jpg" },
"38631641": { "authors": ["Homer"], "cover": "/covers/books/38631641.jpg", "description": "The Iliad Ancient Greek: Ilias, pronounced [i?.li.as] in Classical Attic; sometimes referred to as the Song of Ilion or Song of Ilium) is an ancient Greek epic poem in dactylic hexameter, traditionally attributed to Homer. Set during the Trojan War, the ten-year siege of the city of Troy (Ilium) by a coalition of Greek states, it tells of the battles and events during the weeks of a quarrel between King Agamemnon and the warrior Achilles.", "pages": 734, "published": "2018-02-17", "genres": ["Classics", "Poetry", "Fiction", "Mythology", "Literature"], "averageRating": 3.94, "ratingCount": 542114, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1519449125i/38631641.jpg" },
"35031085": { "authors": ["Mary Wollstonecraft Shelley"], "cover": "/covers/books/35031085.jpg", "description": "Mary Shelley's seminal novel of the scientist whose creation becomes a monster. \n\nThis edition is the original 1818 text, which preserves the hard-hitting and politically charged aspects of Shelley's original writing, as well as her unflinching wit and strong female voice. This edition also includes a new introduction and suggestions for further reading by author and Shelley expert Charlotte Gordon, literary excerpts and reviews selected by Gordon and a chronology and essay by preeminent Shelley scholar Charles E. Robinson.", "pages": 260, "published": "2018-01-16", "genres": ["Classics", "Horror", "Fiction", "Science Fiction", "Gothic"], "averageRating": 3.93, "ratingCount": 2031053, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1631088473i/35031085.jpg" },
"41733839": { "authors": ["F. Scott Fitzgerald"], "cover": "/covers/books/41733839.jpg", "description": "Alternate covers of this ISBN can be found here, here and here.\n\nJames L. W. West III to include the author’s final revisions and features a note on the composition and text, a personal foreword by Fitzgerald’s granddaughter, Eleanor Lanahan—and a new introduction by two-time National Book Award winner Jesmyn Ward. \n\nThe Great Gatsby, F. Scott Fitzgerald’s third book, stands as the supreme achievement of his career. First published in 1925, this quintessential novel of the Jazz Age has been acclaimed by generations of readers. The story of the mysteriously wealthy Jay Gatsby and his love for...", "pages": 180, "published": "2018-04-01", "genres": ["Classics", "Fiction", "School", "Historical Fiction", "Romance"], "averageRating": 3.92, "ratingCount": 6178246, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1650033243i/41733839.jpg" },
"192566704": { "authors": ["S.E. Hinton"], "cover": "/covers/books/192566704.jpg", "description": "No one ever said life was easy. But Ponyboy is pretty sure that he's got things figured out. He knows that he can count on his brothers, Darry and Sodapop. And he knows that he can count on his friends - true friends who would do anything for him, like Johnny and Two-Bit. And when it comes to the beating up on \"greasers\" like him and his friends - he knows that he can count on them for trouble. But one night someone takes things too far, and Ponyboy's world is turned upside down...", "pages": 214, "published": "2021-01-01", "genres": ["Classics", "Young Adult", "Fiction", "School", "Read For School"], "averageRating": 4.15, "ratingCount": 1702819, "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1689626520i/192566704.jpg" },
"6186357": { "authors": ["James Dashner"], "cover": "/covers/books/6186357.jpg", "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1375596592i/6186357.jpg", "description": "There are alternate cover editions for this ASIN here and here.\n\nIf you ain’t scared, you ain’t human.\n \nWhen Thomas wakes up in the lift, the only thing he can remember is his name. He’s surrounded by strangers—boys whose memories are also gone.\n \nNice to meet ya, shank. Welcome to the Glade.\n \nOutside the towering stone walls that surround the Glade is a limitless, ever-changing maze. It’s the only way out—and no one’s ever made it through alive.\n \nEverything is going to change.\n \nThen a girl arrives. The first girl ever. And the message she delivers is terrifying.\n \nRemember. Survive. Run.", "pages": 384, "published": "2009-10-06", "genres": ["Young Adult", "Dystopia", "Science Fiction", "Fiction", "Fantasy"], "averageRating": 4.06, "ratingCount": 1757932 },
"7631105": { "authors": ["James Dashner"], "cover": "/covers/books/7631105.jpg", "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1388240248i/7631105.jpg", "description": "Solving the Maze was supposed to be the end. \n  \n Thomas was sure that escape from the Maze would mean freedom for him and the Gladers. But WICKED isn’t done yet. Phase Two has just begun. The Scorch. \n  \nThere are no rules. There is no help. You either make it or you die.\n  \n The Gladers have two weeks to cross through the Scorch—the most burned-out section of the world. And WICKED has made sure to adjust the variables and stack the odds against them. \n  \nFriendships will be tested. Loyalties will be broken. All bets are off. \n  \n There are others now. Their survival depends on the Gladers’...", "pages": 362, "published": "2010-10-12", "genres": ["Young Adult", "Dystopia", "Science Fiction", "Fiction", "Fantasy"], "averageRating": 3.9, "ratingCount": 670952 },
"7864437": { "authors": ["James Dashner"], "cover": "/covers/books/7864437.jpg", "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1303997647i/7864437.jpg", "description": "It’s the end of the line.\n \nWICKED has taken everything from Thomas: his life, his memories, and now his only friends—the Gladers. But it’s finally over. The trials are complete, after one final test.\n \nWill anyone survive?\n \nWhat WICKED doesn’t know is that Thomas remembers far more than they think. And it’s enough to prove that he can’t believe a word of what they say.\n \nThe truth will be terrifying.\n \nThomas beat the Maze. He survived the Scorch. He’ll risk anything to save his friends. But the truth might be what ends it all. \n \nThe time for lies is over.", "pages": 325, "published": "2011-10-11", "genres": ["Young Adult", "Dystopia", "Science Fiction", "Fiction", "Fantasy"], "averageRating": 3.79, "ratingCount": 519019 },
"40495148": { "authors": ["José Saramago"], "cover": "/covers/books/40495148.jpg", "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1528481068i/40495148.jpg", "description": "From Nobel Prize–winning author José Saramago, a magnificent, mesmerizing parable of loss\n\nA city is hit by an epidemic of \"white blindness\" that spares no one. Authorities confine the blind to an empty mental hospital, but there the criminal element holds everyone captive, stealing food rations, and assaulting women. There is one eyewitness to this nightmare who guides her charges—among them a boy with no mother, a girl with dark glasses, a dog of tears—through the barren streets, and their procession becomes as uncanny as the surroundings are harrowing. As Blindness reclaims the age-old...", "pages": 349, "published": "2013-08-23", "genres": ["Fiction", "Dystopia", "Classics", "Science Fiction", "Portugal"], "averageRating": 4.19, "ratingCount": 368227 },
"61102615": { "authors": ["Natalie Haynes"], "cover": "/covers/books/61102615.jpg", "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1664995844i/61102615.jpg", "description": "A fresh take on the story of Medusa, the original monstered woman.\n\nThey will fear you and flee you and call you a monster. \n\nThe only mortal in a family of gods, Medusa is the youngest of the Gorgon sisters. Unlike her siblings, Medusa grows older, experiences change, feels weakness. Her mortal lifespan gives her an urgency that her family will never know.\n\nWhen the sea god Poseidon assaults Medusa in Athene's temple, the goddess is enraged. Furious by the violation of her sacred space, Athene takes revenge--on the young woman. Punished for Poseidon's actions, Medusa is forever transformed....", "pages": 373, "published": "2023-02-07", "genres": ["Mythology", "Fantasy", "Greek Mythology", "Fiction", "Historical Fiction"], "averageRating": 3.77, "ratingCount": 86690 },
"34454589": { "authors": ["Margaret Atwood"], "cover": "/covers/books/34454589.jpg", "coverSource": "https://m.media-amazon.com/images/S/compressed.photo.goodreads.com/books/1488552336i/34454589.jpg", "description": "Now a Hulu series starring Elizabeth Moss. The Handmaid's Tale is an instant classic and eerily prescient cultural phenomenon, from \"the patron saint of feminist dystopian fiction\" (New York Times)\n\nThe Handmaid’s Tale is a novel of such power that the reader will be unable to forget its images and its forecast. Set in the near future, it describes life in what was once the United States and is now called the Republic of Gilead, a monotheocracy that has reacted to social unrest and a sharply declining birthrate by reverting to, and going beyond, the repressive intolerance of the original...", "pages": 320, "published": "2017-04-25", "genres": ["Fiction", "Classics", "Dystopia", "Science Fiction", "Feminism"], "averageRating": 4.16, "ratingCount": 2583718 }
}
+2 -1
View File
@@ -38,6 +38,7 @@
"imports": {
"#lib": "./src/lib/index.js",
"#lib/*": "./src/lib/*",
"#content/*": "./content/*"
"#content/*": "./content/*",
"#data/*": "./data/*"
}
}
+4 -1
View File
@@ -12,6 +12,7 @@ import researchData from '#content/projects/research.json';
import organizationsData from '#content/projects/organizations.json';
import tcgDecksData from '#content/tcgDecks.json';
import booksData from '#content/books.json';
import bookDetailsData from '#data/bookDetails.json';
import wallpapersData from '#content/wallpapers.json';
import type {
AboutContent,
@@ -41,7 +42,9 @@ export const blogSettings: BlogSettings = blogData;
export const playlist: Playlist = musicData;
export const researchGroups: ResearchGroup[] = researchData;
export const tcgDecks: TcgDeck[] = tcgDecksData as TcgDeck[];
export const books: Book[] = booksData as Book[];
const bookDetails = bookDetailsData as Record<string, Partial<Book>>;
export const books: Book[] = booksData.map((book) => ({ ...bookDetails[book.goodreadsId], ...book }) as Book);
export const wallpapers: Wallpaper[] = wallpapersData as Wallpaper[];
function featuredFirst(projects: Project[]): Project[] {
+14 -2
View File
@@ -5,6 +5,8 @@ import goodreads
import jsonfile
BOOKS_FILE = "books.json"
BOOK_INFO_FILE = "bookDetails.json"
PERSONAL_KEYS = ["goodreadsId", "title", "url", "shelf", "rating", "added", "series"]
SHELVES = ["read", "reading", "want-to-read"]
DESCRIPTION_MAX_LENGTH = 600
GENRE_LIMIT = 5
@@ -25,11 +27,21 @@ def check_shelf(shelf: str) -> str:
def load_books() -> list[dict]:
if not jsonfile.content_path(BOOKS_FILE).exists():
return []
return jsonfile.load(BOOKS_FILE)
info = jsonfile.load_data(BOOK_INFO_FILE, {})
return [{**info.get(book["goodreadsId"], {}), **book} for book in jsonfile.load(BOOKS_FILE)]
def personal_fields(book: dict) -> dict:
return {key: book[key] for key in PERSONAL_KEYS if key in book}
def info_fields(book: dict) -> dict:
return {key: value for key, value in book.items() if key not in PERSONAL_KEYS}
def save_books(books: list[dict]) -> None:
jsonfile.save(BOOKS_FILE, books)
jsonfile.save(BOOKS_FILE, [personal_fields(book) for book in books])
jsonfile.save_data(BOOK_INFO_FILE, {book["goodreadsId"]: info_fields(book) for book in books})
def find_index(books: list[dict], text: str) -> int | None:
+26 -4
View File
@@ -3,6 +3,7 @@ from pathlib import Path
PROJECT_ROOT = Path(__file__).resolve().parents[2]
CONTENT_DIR = PROJECT_ROOT / "content"
DATA_DIR = PROJECT_ROOT / "data"
INLINE_LIST_MAX_LENGTH = 80
INDENT = "\t"
@@ -11,14 +12,35 @@ def content_path(name: str) -> Path:
return CONTENT_DIR / name
def load(name: str):
with content_path(name).open(encoding="utf-8") as file:
def data_path(name: str) -> Path:
return DATA_DIR / name
def read_json(path: Path):
with path.open(encoding="utf-8") as file:
return json.load(file)
def write_json(path: Path, data) -> None:
path.parent.mkdir(parents=True, exist_ok=True)
path.write_text(format_value(data, 0) + "\n", encoding="utf-8")
def load(name: str):
return read_json(content_path(name))
def save(name: str, data) -> None:
text = format_value(data, 0) + "\n"
content_path(name).write_text(text, encoding="utf-8")
write_json(content_path(name), data)
def load_data(name: str, default):
path = data_path(name)
return read_json(path) if path.exists() else default
def save_data(name: str, data) -> None:
write_json(data_path(name), data)
def is_primitive(value) -> bool: