Recipes
DIY
Dessert First
The best tea cookie recipe in town, period.
Bake up these comfort cookies in the comfort of your own kitchen.Olivia Girard/theDinersaur
`,`
Related
- Pastry Chef Amanda Hepler's Strawberry Cornmeal Scones are Perfect for Valentine's Day
`,`
Related
- Ice Water, Yams, and Silken Tofu: Valley Chefs Share Their Secrets For Making A Great Pumpkin Pie
`,`
Related
- How To Make Pumpkin Pie Like Dana Dumas of SugarJam The Southern Kitchen
`,`
Related
- How This Gilbert Mom Went From Food Blogger To Published Author
`,`
Related
- Celebrate Frank Lloyd Wright's Birthday by Baking His Favorite Cake
` ];
If a picture says 1,000 words, Olivia Girard’s TheDinersaur Instagram says about a billion: words like “dream cookie” and “sweetjesus” and “oh my” and about every iteration of “yum” you can imagine.Girard paid her dues in local restaurants and art school before launching TheDinersaur in 2016, a sandwich, pastry, and catering company that expanded from a lunch delivery business to a pastry darling.
click to enlarge
A sampling of Olivia's baked goods.
Olivia Girard/theDinersaur
Her Instagram (gaining on nearly 10,000 followers) documentsimageafter image of her playful deliciousness. Think cherub-like choux puffs haloed with heavenly mascarpone whip, lovely layered cakes stacked with sticky fillings and sprinkled salutations, towering churro popovers filled with vanilla custard and covered in cinnamon sugar, and potato buns sandwiched with jalapeno cream cheese, clover sprouts, sunflower seeds and golden beets.
Best of all, you don’t just eat Girard’s goodies with your eyes. As delicious as her Instagram is — and it is sweet salvation — all of the above and more are available to order via TheDinersaur for pickup at Restaurant Progress in the Melrose District.
Even sweeter, Girard has shared her famous tea cookie recipe with us. Yes, the very same one that comes in her lunch bags alongside a sandwich, chips, and sparkling water. It’s the not-too-sweet, not-too-complicated, just-right thing to make at home when you’re looking for a little cookie comfort. So, like, now.
click to enlarge
The chocolate chip version.
Olivia Girard/theDinersaur
theDinersaur Tea Cookie Recipe
Note: This recipe makes 22 to 24 cookies.
Ingredients
8 ounces (2 sticks) of butter, softened
1/2 cup of powdered sugar (plus an additional 1/4 cup powdered sugar after baking)
2 cups all-purpose flour
1/2 teaspoon salt
1 teaspoon vanilla
1 cup pecan pieces or chocolate chips, optional
click to enlarge
Sure, you can pick some up. But why not DIY?
Olivia Girard/theDinersaur
Directions
1. Preheat oven to 325 degrees.
2. Add ingredients to the bowl of a stand mixer fitted with a paddle attachment. Set on low until everything is mixed together.
3. Scoop out big tablespoons of dough and roll into balls. Chill in the fridge for 20 minutes.
4. Place dough on parchment-lined or ungreased baking sheets and bake until you seejust a little brown on top, about 15 minutes.
5. Let cookies cool on the counter or in the fridge.
6. Add 1/4 cup powdered sugar to a small bowl. Once cooled, “smoosh” cookies in icing sugar.
') let lineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() if (jQuery(element).prop('tagName').match(/HIDDEN/i) !== null) { jQuery(element).children('div').last().css({ marginBottom: `${lineHeight*2}px` }); } else { jQuery(element).css({ marginTop: `${lineHeight*2}px`, marginBottom: `${lineHeight}px` }); } } } jQuery(element).insertBefore(this.paragraphEndNodes[index]); } else { console.warn('Foundation.ParagraphTool.insertElemenAt: invalid insertion index', index); } } this.insertElemenAtEnd = function (element) { if (this.paragraphEndNodes.length) { let lastNode = this.getNodeAtIndex(this.paragraphEndNodes.length -1); if (this.isDoubleBrParagraphBreak(lastNode) || this.isBrParagraphBreakBeforeBlockElement(lastNode)) { if (jQuery(element).get(0).tagName.match(/SCRIPT/i) !== null) { jQuery('
').insertAfter(this.paragraphEndNodes[index]); jQuery('
').insertAfter(this.paragraphEndNodes[index]); } else { jQuery('div.fdn-content-body, div #storyBody').append('
') let lineHeight = jQuery('[line-height-check]').get(0).clientHeight; jQuery('[line-height-check]').remove() if (jQuery(element).prop('tagName').match(/HIDDEN/i) !== null) { jQuery(element).children('div').last().css({ marginBottom: `${lineHeight*2}px` }); } else { jQuery(element).css({ marginTop: `${lineHeight*2}px`, marginBottom: `${lineHeight}px` }); } } } } this.bodyContainer.append(element); } this.getNodeAtIndex = function (index) { return this.paragraphEndNodes[index]; } }
`); } var paragraphCount = myParagraphTool.getParagraphEndNodeCount(); // No need to insert if there aren't enough paragaphs if (paragraphCount >= parseInt(item.requiredCountToDisplay)) { // Matches specific paragraph insertion indexes if (item.insertPoint.match(/^\d+$/) !== null) { var insertIndex = parseInt(item.insertPoint) - 1; // Insert within content if (insertIndex < paragraphCount) { myParagraphTool.insertElemenAtIndex(componentElement, insertIndex); } // Append to the end if the insert point is beyond the paragraph count else { myParagraphTool.insertElemenAtEnd(componentElement) } } // Matches for 1/2, 1/4, 2/3, 5/6, etc else if (item.insertPoint.match(/^[1223456]\/[23456]$/) !== null) { var fractionMatch = new RegExp(/^([123456])(?:\/)([23456]$)/); var fractionPart = parseInt(item.insertPoint.match(fractionMatch)[1]); var fractionWhole = parseInt(item.insertPoint.match(fractionMatch)[2]); var fractionValue = fractionPart / fractionWhole; var fractionIndex = Math.floor(myParagraphTool.paragraphEndNodes.length * fractionValue) - 1; myParagraphTool.insertElemenAtIndex(componentElement, fractionIndex); } // Matches for every Nth insertion point else if (item.insertPoint.match(/^\d*th$/i) !== null) { var intervalIndex = parseInt(item.insertPoint.match(/^(\d*)th$/i)[1]); var startingIndex = parseInt(item.startingPoint) - 1; var insertionMax = parseInt(item.maxInsertions) || 100; var insertionCount = 0; for (var i = startingIndex; i < myParagraphTool.paragraphEndNodes.length && insertionCount < insertionMax; i++) { if ((i - startingIndex) % intervalIndex === 0) { let currentNode = myParagraphTool.getNodeAtIndex(i); const clonedComponent = componentElement.clone(); myParagraphTool.insertElemenAtIndex(clonedComponent, i); insertionCount++; } } } } }); Foundation.Content['11466879'].setupInlineComponents = function () { return true; }; if (typeof callback === 'function') { callback(); } }, 200); } Foundation.Content['11466879'].previewInsertionPoints = function () { var myParagraphTool = Foundation.Content['11466879'].paragraphTool myParagraphTool.paragraphEndNodes.each((index, item) => { const insertionPointPlaceholder = jQuery(`
`) myParagraphTool.insertElemenAtIndex(insertionPointPlaceholder, index); }); return 'Paragraph insertion placeholders applied.'; }