Skip to main content

Status message

Debug: Image path is empty. in Drupal\twig_tweak\TwigTweakExtension::imageStyleFilter() (line 500 of modules/contrib/twig_tweak/src/TwigTweakExtension.php).
Drupal\twig_tweak\TwigTweakExtension::imageStyleFilter() (Line: 96)
__TwigTemplate_0b4ff96a8cb842cce8ce2ab9955b8a32->doDisplay() (Line: 393)
Twig\Template->yield() (Line: 349)
Twig\Template->display() (Line: 364)
Twig\Template->render() (Line: 35)
Twig\TemplateWrapper->render() (Line: 33)
twig_render_template() (Line: 348)
Drupal\Core\Theme\ThemeManager->render() (Line: 491)
Drupal\Core\Render\Renderer->doRender() (Line: 248)
Drupal\Core\Render\Renderer->render() (Line: 476)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 75)
__TwigTemplate_7d4d1619d4c053870261c5ba05b37f90->doDisplay() (Line: 393)
Twig\Template->yield() (Line: 349)
Twig\Template->display() (Line: 364)
Twig\Template->render() (Line: 35)
Twig\TemplateWrapper->render() (Line: 33)
twig_render_template() (Line: 348)
Drupal\Core\Theme\ThemeManager->render() (Line: 491)
Drupal\Core\Render\Renderer->doRender() (Line: 504)
Drupal\Core\Render\Renderer->doRender() (Line: 248)
Drupal\Core\Render\Renderer->render() (Line: 476)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 103)
__TwigTemplate_a96f3f5aed67e1b25d94319fec7c2921->block_content() (Line: 437)
Twig\Template->yieldBlock() (Line: 76)
__TwigTemplate_a96f3f5aed67e1b25d94319fec7c2921->doDisplay() (Line: 393)
Twig\Template->yield() (Line: 349)
Twig\Template->display() (Line: 364)
Twig\Template->render() (Line: 35)
Twig\TemplateWrapper->render() (Line: 33)
twig_render_template() (Line: 348)
Drupal\Core\Theme\ThemeManager->render() (Line: 491)
Drupal\Core\Render\Renderer->doRender() (Line: 504)
Drupal\Core\Render\Renderer->doRender() (Line: 248)
Drupal\Core\Render\Renderer->render() (Line: 476)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 79)
__TwigTemplate_7b2ce29a8879e2ad5593044dce381a22->doDisplay() (Line: 393)
Twig\Template->yield() (Line: 349)
Twig\Template->display() (Line: 364)
Twig\Template->render() (Line: 35)
Twig\TemplateWrapper->render() (Line: 33)
twig_render_template() (Line: 348)
Drupal\Core\Theme\ThemeManager->render() (Line: 491)
Drupal\Core\Render\Renderer->doRender() (Line: 504)
Drupal\Core\Render\Renderer->doRender() (Line: 504)
Drupal\Core\Render\Renderer->doRender() (Line: 248)
Drupal\Core\Render\Renderer->render() (Line: 476)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 111)
__TwigTemplate_ce8b95485b256829bab9798500416d2f->doDisplay() (Line: 393)
Twig\Template->yield() (Line: 349)
Twig\Template->display() (Line: 364)
Twig\Template->render() (Line: 35)
Twig\TemplateWrapper->render() (Line: 33)
twig_render_template() (Line: 348)
Drupal\Core\Theme\ThemeManager->render() (Line: 491)
Drupal\Core\Render\Renderer->doRender() (Line: 248)
Drupal\Core\Render\Renderer->render() (Line: 476)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 69)
__TwigTemplate_adc7e78e71c1f535deeb17176ad24c32->doDisplay() (Line: 393)
Twig\Template->yield() (Line: 349)
Twig\Template->display() (Line: 364)
Twig\Template->render() (Line: 35)
Twig\TemplateWrapper->render() (Line: 33)
twig_render_template() (Line: 348)
Drupal\Core\Theme\ThemeManager->render() (Line: 491)
Drupal\Core\Render\Renderer->doRender() (Line: 504)
Drupal\Core\Render\Renderer->doRender() (Line: 248)
Drupal\Core\Render\Renderer->render() (Line: 476)
Drupal\Core\Template\TwigExtension->escapeFilter() (Line: 118)
__TwigTemplate_3627e30b5551b186c791090bfa9660c6->doDisplay() (Line: 393)
Twig\Template->yield() (Line: 349)
Twig\Template->display() (Line: 364)
Twig\Template->render() (Line: 35)
Twig\TemplateWrapper->render() (Line: 33)
twig_render_template() (Line: 348)
Drupal\Core\Theme\ThemeManager->render() (Line: 491)
Drupal\Core\Render\Renderer->doRender() (Line: 504)
Drupal\Core\Render\Renderer->doRender() (Line: 248)
Drupal\Core\Render\Renderer->render() (Line: 238)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 638)
Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 239)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare() (Line: 128)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray() (Line: 97)
Drupal\tracer\EventDispatcher\TraceableEventDispatcher->dispatch() (Line: 186)
Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 191)
Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 128)
Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 38)
Drupal\tracer\StackMiddleware\TracesMiddleware->handle() (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 741)
Drupal\Core\DrupalKernel->handle() (Line: 19)

MADreads Reviews

Book reviews by library staff and guest contributors

Picking up the pieces

Posted by Jane J on Jan 10, 2024
A review of Ashes of the Sun by
Django
Wexler

Generations ago an empire was destroyed by war. The technological/magical remnants of that society are now either in the hands of the Twilight Order or hard sought by the criminal and/or rebellious elements of the society. A sister and brother find themselves on opposite sides of that power dynamic in this complex and fascinating fantasy novel.

I like a nice séance from time to time

Posted by Molly W on Jan 9, 2024
Sarah
Penner

London was rife with spiritualists and otherworldly activity in 1873, so much so that entire societies were devoted to connecting the living with the dead. Exclusive men's clubs, like the fictional London Séance Society, were all the rage. Intended as a social club where gentleman met to play cards, drink, and hone their paranormal skills, the London Séance Society also provided outreach services by hosting lectures and demonstrations.

A wish on a washing machine

Posted by Abby R on Jan 5, 2024
A review of The Wishing Machine by
Jonathan
Hillman

Change and goodbyes are hard! As Sam and his mom prepare to move from their apartment to Grandpa's trailer away from the city, they say goodbye to friends and their cherished Sunday laundromat time together with one last visit. But with a little imagination and some one-of-a-kind luck, Sam discovers that his most heartfelt wish doesn't need a magic machine to come true.

Do we have a preposition for you

Posted by on Dec 29, 2023

Oh, those pesky prepositions….In, Out, Up, Down, In Front, Behind….there are only so many ways to illustrate these concepts, right? Well, if including adorable, chonky knitted kittens is one of those ways, then we agree. Anna Hrachovec is a long time designer of tiny creatures known as “Mochi Mochi”, knitted (rather than crocheted) Japanese inspired toys known as Amigurumi. She has written several books of adorable patterns which can be found at Madison Public Library.

A Party of Honors

Posted by Tracy on Dec 29, 2023

A new book about an extraordinary word-maker, There Was a Party for Langston: King o’ Letters by Jason Reynolds, brings history to life with poetic language and colorful stamped illustrations. Inspired by a photo of poets Maya Angelou and Amiri Baraka dancing (boogying!) at a party in honor of Langston Hughes, this book captures the creativity of Hughes and his impact on other artists and writers. This legendary party was “A fancy-foot, get-down, all-out bash” and SO GLORIOUS! Because everyone felt the power of Langston’s words.

A poetic life

Posted by Tracy on Dec 29, 2023
A review of In Every Life by
Marla
Frazee

Beaming with lightness and brightness, Marla Frazee’s In Every Life shows the great expanse of human experience. With sparse and lyrical text, the book reads like a poem or song. The illustrations show a wide array of people in soft vignettes, along with wordless double-paged spreads. Quietly spectacular scenes show hikers voyaging up a mountain, an adult and child looking out at an expanse of shoreline, and a trio of kids enjoying a windy and flowery hilltop.

Peace, but at what cost?

Posted by Jane J on Dec 27, 2023
A review of Where Peace is Lost by
Valerie
Valdes

Where peace is lost, may we find it.
Where peace is broken, may we mend it.
Where we go, may peace follow.
Where we fall, may peace rise.

Hidden charm (and depth)

Posted by on Dec 26, 2023
A review of Quartet in Autumn by
Barbara
Pym

I’m so happy I’ve discovered Barbara Pym, and slightly ashamed that it took me this long to find her. She writes characters you’d never guess you were interested in knowing more about, but it turns out, you are. Quartet in Autumn, along with the rest of Pym's novels, could be described as being about nothing in particular, but it's written so well that you might come away feeling that it’s actually about everything, a profound plumbing of everyday life.

A BIG winner

Posted by Holly SP on Dec 26, 2023
A review of Big by
Vashti
Harrison

Big, illustrated and written by Vashti Harrison, is the winner of the 2024 Randolph Caldecott Medal for most distinguished American picture book for children, a 2024 Coretta Scott King Author Award Honor Book and a 2024 Coretta Scott King Illustrator Award Honor Book.

Love and cheeses

Posted by on Dec 15, 2023

Lady Camembert has never wanted a husband. In fact, she flat-out refuses to ever have one. But when her father dies, she must confront an ugly law of the kingdom of Fromage: women cannot inherit wealth or property. Determined to take on the family wealth while avoiding marriage to a man, she burns the evidence of her life as Lady, moves to the kingdom’s capital, and reinvents herself as the dashing Count Camembert. In this new life, hiding her true identity is vital – but as Cam begins to fall for Princess Brie, she finds that her secret may not be so easily kept.

Secrets of a small town

Posted by Jane J on Dec 14, 2023
A review of The Searcher by
Tana
French

Cal Hooper is a retired Chicago police detective who is recently divorced. Those two major life changes have prompted him to make a third. He's bought a rundown farmhouse (from an online posting) in a rural part of Ireland and is determined to live there bothering no one and bothered by none. His first weeks in his new home live up to that ideal. He heads to the local village when he needs supplies or to stop in the pub for a drink, but otherwise is keeping to himself. His solitude is disrupted one day when he realizes someone is watching him.

Haunted family

Posted by on Dec 12, 2023
A review of Bad Cree by
Jessica
Johns

Mackenzie is living and working mostly uneventfully in Toronto, Canada, until one morning, she awakes from a nightmare and notices something clutched in her hand. It’s the decapitated head of a crow, and besides being horrified by it, Mackenzie has no idea how it got there… except that she remembers it from her dream.

How did the crow's head make it from her nightmare into her waking life?

Finding hope in creation

Posted by on Dec 8, 2023
A review of Angelo by
David
Macaulay

David Macauley, a celebrated illustrator of non-fiction books such as Cathedral and The Way Things Work, applies his knack for drawing complex structures in this gorgeous, heart-wrenching celebration of an aging plasterer, Angelo. 

The story follows Angelo as he restores the facade of a massive cathedral and reluctantly befriends a wounded pigeon named Sylvia. Angelo's declining health makes for a melancholy tone, but Sylvia's lighthearted antics and the warm, chaotic illustrations of Italian vistas give the story an incredible range. 

Unlikely allies working together

Posted by on Dec 1, 2023
Maggie
Tokuda-Hall

Fans of The Mermaid, The Witch, and the Sea, rejoice! In this companion to her 2020 fantasy debut, Maggie Tokuda-Hall introduces a vibrant new cast of characters – although the magical world they inhabit and the colonial forces they resist will be familiar to readers of the author’s earlier work. Told through diverse perspectives woven together, this story is every bit as clever, queer, and generally delightful as its predecessor.

--reviewed by Ros

Tribute to the women whose lives were cut short

Posted by Molly W on Dec 1, 2023
A review of Bright Young Women by
Jessica
Knoll

On a Saturday night in 1978, a man enters a Florida sorority house and systematically attacks women from room to room, leaving them for dead. He flees the sorority down the main staircase and out the front door as the sorority president Pamela Schumacher stands in the shadows, frozen in fear. She sees the killer's face and haunted by that night and the aftermath of the attack, she's determined to find justice. She's obsessed with finding the killer and eventually earns a law degree with the intention of facing him in court one day.

Extra pinch and sparkle

Posted by Molly W on Nov 30, 2023
Dolly
Parton

One of Dolly Parton's best colors is what her husband Carl Dean calls "pinch" or peachy pink. It's one of my favorite colors, too. I used to call it melon. But it's more than that. The cover of this beautiful tribute to the iconic personal style of Dolly Parton over the years is pinch. Isn't that a clever way of naming a color? It just fits. It's logical, yet fancy. Just like Dolly.

Heartbreakingly beautiful

Posted by on Nov 28, 2023
A review of Stolen Words by
Melanie
Florence

Compared to other types of books, picture books are simple, short, and accessible -- but that doesn't make them any less impactful. On the contrary, sometimes the simplest stories hit the hardest. And this is definitely the case with Melanie Florence's Stolen Words.

If you need inspiration

Posted by Jane J on Nov 21, 2023
A review of NPR's Books We Love by

If you're a bookie like me then this is the best time of the year. No, not because of the turkey and Black Friday sales (though those are a bonus), but because now is when NPR posts their Books We Love list and oh how happy it makes me to browse through all those possibles. Think of it as a cross between the library's Best Sellers and Too Good to Miss collections. There is something for everyone and every one of the titles is worth a look.