Tarte au Citron

May 05, 2021

Tarte au Citron

You can't go wrong with this flawless combination of creamy lemon custard and crumbly sweet pastry – enter Tarte au Citron, aka, Lemon Meringue Tart!

What you'll need

For achieving the best possible results with this elegant French dessert, we recommend using Les vergers Boiron lemon puree, Le Bichon tart shells, Paysan Breton butter, white sugar, and fresh eggs.

What is Tarte au Citron?

The popular French sweet treat 'Tarte au Citron', otherwise known as 'Lemon Meringue Tart', is a délectable fusion of smooth lemon cream filling, mouthwatering golden swirls of meringue, and a buttery outer crust.

If you love lemon and sugar, take a break from whatever it is that you're doing right now, and give this unearthly recipe a go!

Top tips from our chef

If you're in a hurry, you can replace the meringue with sweetened whipped cream to balance out the zesty lemon filling in the tart.

While we recommend eating the tarts the day they're made, leftovers will keep in the refrigerator for 2 days, although the meringue might get slightly sticky over time.

star




Also in Recipes

Japanese Beef Curry
Japanese Beef Curry

January 20, 2023

On the right side of sweet and with just enough spice to tickle your tastebuds, this easy to prepare Japanese Beef Curry is a classy crowd-pleaser.

Continue Reading

Octopus Leg Linguine
Octopus Leg Linguine

December 22, 2022

If you’re looking to give your summer dishes something new from Naples, this Octopus Leg with Peeled Tomato Linguine is just what you’ve been looking for.

Continue Reading

Crayfish Tacos
Crayfish Tacos

December 15, 2022

With their roots in Mexican street food but with a New England twist, crayfish tacos are big on flavour & low on effort - sure to become a family favourite!

Continue Reading

/** * Module to ajaxify all add to cart forms on the page. * * Copyright (c) 2015 Caroline Schnapp (11heavens.com) * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */ Shopify.AjaxifyCart = (function($) { // Some configuration options. // I have separated what you will never need to change from what // you might change. var _config = { // What you might want to change addToCartBtnLabel: 'Add to cart', addedToCartBtnLabel: 'Added to cart!', addingToCartBtnLabel: 'Adding...', soldOutBtnLabel: 'Sold Out', howLongTillBtnReturnsToNormal: 1000, // in milliseconds. cartCountSelector: '.cart-count, #cart-count a:first, #gocart p a, #cart .checkout em, .item-count', cartTotalSelector: '#cart-price', // 'aboveForm' for top of add to cart form, // 'belowForm' for below the add to cart form, and // 'nextButton' for next to add to cart button. feedbackPosition: 'nextButton', // What you will never need to change addToCartBtnSelector: '[type="submit"]', addToCartFormSelector: 'form[action="/cart/add"]', shopifyAjaxAddURL: '/cart/add.js', shopifyAjaxCartURL: '/cart.js' }; // We need some feedback when adding an item to the cart. // Here it is. var _showFeedback = function(success, html, $addToCartForm) { $('.ajaxified-cart-feedback').remove(); var feedback = '

' + html + '

'; switch (_config.feedbackPosition) { case 'aboveForm': $addToCartForm.before(feedback); break; case 'belowForm': $addToCartForm.after(feedback); break; case 'nextButton': default: $addToCartForm.find(_config.addToCartBtnSelector).after(feedback); break; } // If you use animate.css // $('.ajaxified-cart-feedback').addClass('animated bounceInDown'); $('.ajaxified-cart-feedback').slideDown(); }; var _setText = function($button, label) { if ($button.children().length) { $button.children().each(function() { if ($.trim($(this).text()) !== '') { $(this).text(label); } }); } else { $button.val(label).text(label); } }; var _init = function() { $(document).ready(function() { $(_config.addToCartFormSelector).submit(function(e) { e.preventDefault(); var $addToCartForm = $(this); var $addToCartBtn = $addToCartForm.find(_config.addToCartBtnSelector); _setText($addToCartBtn, _config.addingToCartBtnLabel); $addToCartBtn.addClass('disabled').prop('disabled', true); // Add to cart. $.ajax({ url: _config.shopifyAjaxAddURL, dataType: 'json', type: 'post', data: $addToCartForm.serialize(), success: function(itemData) { // Re-enable add to cart button. $addToCartBtn.addClass('inverted'); _setText($addToCartBtn, _config.addedToCartBtnLabel); // _showFeedback('success',' Added to cart!',$addToCartForm); window.setTimeout(function(){ $addToCartBtn.prop('disabled', false).removeClass('disabled').removeClass('inverted'); _setText($addToCartBtn,_config.addToCartBtnLabel); }, _config.howLongTillBtnReturnsToNormal); // Update cart count and show cart link. $.getJSON(_config.shopifyAjaxCartURL, function(cart) { if (_config.cartCountSelector && $(_config.cartCountSelector).length) { var value = $(_config.cartCountSelector).html() || '0'; $(_config.cartCountSelector).html(value.replace(/[0-9]+/,cart.item_count)).removeClass('hidden-count'); } if (_config.cartTotalSelector && $(_config.cartTotalSelector).length) { if (typeof Currency !== 'undefined' && typeof Currency.moneyFormats !== 'undefined') { var newCurrency = ''; if ($('[name="currencies"]').length) { newCurrency = $('[name="currencies"]').val(); } else if ($('#currencies span.selected').length) { newCurrency = $('#currencies span.selected').attr('data-currency'); } if (newCurrency) { $(_config.cartTotalSelector).html('' + Shopify.formatMoney(Currency.convert(cart.total_price, "AED", newCurrency), Currency.money_format[newCurrency]) + ''); } else { $(_config.cartTotalSelector).html(Shopify.formatMoney(cart.total_price, "")); } } else { $(_config.cartTotalSelector).html(Shopify.formatMoney(cart.total_price, "")); } }; }); }, error: function(XMLHttpRequest) { var response = eval('(' + XMLHttpRequest.responseText + ')'); response = response.description; if (response.slice(0,4) === 'All ') { _showFeedback('error', response.replace('All 1 ', 'All '), $addToCartForm); $addToCartBtn.prop('disabled', false); _setText($addToCartBtn, _config.soldOutBtnLabel); $addToCartBtn.prop('disabled',true); } else { _showFeedback('error', ' ' + response, $addToCartForm); $addToCartBtn.prop('disabled', false).removeClass('disabled'); _setText($addToCartBtn, _config.addToCartBtnLabel); } } }); return false; }); }); }; return { init: function(params) { // Configuration params = params || {}; // Merging with defaults. $.extend(_config, params); // Action $(function() { _init(); }); }, getConfig: function() { return _config; } } })(jQuery); Shopify.AjaxifyCart.init();