;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Bolo de abóbora com coco fica pronto rapidinho e espalha perfume pela casa

Bolo simples só precisa de tigela e fouet - Eline Prando
Bolo simples só precisa de tigela e fouet Imagem: Eline Prando

Gabrielli Menezes

De Nossa

10/02/2021 04h00

Eline Prando

Eline Prando

QUEM É

Bem antes do Instagram virar o centro de receitas, ela criou o blog Mel e Pimenta. Apesar do tempo longo, ela se mantém firme na proposta: ar receitas fáceis que estão dentro da sua alimentação.

Esse bolo de abóbora é do tipo que avisa que está pronto. Igual às cenas de desenhos animados em que os personagens parecem flutuar ao inspirar o aroma de uma boa comida, o cheirinho que sai do forno é capaz de envolver quem está na casa.

A receita foi criada a olho pela designer Eline Prando, que mantém o blog de culinária "Mel e Pimenta" há 10 anos. Sua ideia foi começar com os ingredientes líquidos e depois ir acrescentando os secos para equilibrar a consistência.

O resultado é um doce saboroso, de textura macia e úmida. Além de fácil de fazer, não suja quase nada: basta uma batedeira ou uma tigela e um fouet.

O tempo total de preparo é de 45 minutos, mas 35 deles são só de forno. Ou seja, é vapt-vupt.

Bolo de abóbora e coco

Dificuldade Fácil
1 porções
45 min
Ver receita completa

Purê de abóbora

Antes de seguir o o a o do bolo, você precisa transformar a abóbora em purê. Para isso, Eline usa a abóbora cabotiá. Ela tem casca verde escura, é muito saborosa e tem cor intensa. Mas não é uma regra: se preferir, pode usar outros tipos do vegetal.

Eu Mereço - Bolo de abóbora - Eline Prando - Eline Prando
Eu Mereço - bolo de abóbora
Imagem: Eline Prando

Como a quantidade usada na receita é pequena, a sugestão é aproveitar as sobras que você tiver na geladeira (se ainda estiverem sem sal) ou aproveitar para cozinhar abóbora para outros pratos também, como panqueca, pão e nhoque.

Eu Mereço - bolo de abóbora - Eline Prando - Eline Prando
Canela, cravo e noz-moscada podem ser incorporados à massa
Imagem: Eline Prando

A abóbora pode ser assada ou cozida no vapor. "Quanto mais sequinha melhor. Se você tem abóbora que foi cozida em água, você pode usar, mas talvez seja necessário acrescentar um pouquinho mais de farinha à receita. Eu corto a abóbora em pedaços e cozinho no vapor com casca. Assim, dá menos trabalho. Depois, é só retirar a polpa e amassar bem com um garfo".

Aroma de especiarias

Quem busca um sabor a mais, além da abóbora e do coco, pode apostar nas especiarias. Eline indica caprichar na canela e ir com calma na pitada de cravo e de noz-moscada. Os três podem ser comprados em pó.

Testadas e aprovadas

Gaúcha de Nova Bassano, Eline é apegada às suas origens. Embora viva em Porto Alegre desde a faculdade, a maior parte da família segue na cidade do interior. "É de lá que vem o meu amor pela cozinha e a paixão pelos sabores de comida de verdade".

Entre as lembranças da infância estão brincar de criar pratos em um "fogão" feito com alguns tijolos. "Acendia um pequeno foguinho e ficava inventando e misturando ingredientes e temperos que eu buscava na horta da minha mãe. É claro que esses pratos não eram comestíveis, mas essa era pura diversão".

Eu Mereço - bolo de abóbora - Eline Prando - Eline Prando
Receita foi feita a olho por Eline
Imagem: Eline Prando

Mais tarde, quando cursava Design Gráfico, Eline se apaixonou pela fotografia e começou a registrar o que cozinhava em casa. Em 2011, ela decidiu criar o blog. "Sem pretensão alguma", o objetivo era compartilhar aprendizados com amigos próximos e familiares.

Os primeiros dois anos do blog foram tímidos, mas comecei a ganhar leitores. Essa percepção me motivou a fazer mais, cozinhar, fotografar e escrever mais para poder compartilhar, e atualmente o posso dizer que eu e o Mel e Pimenta crescemos muito".

Hoje, o banco de receitas é parrudo e todos os preparos são testados, aprovados e, quando necessários, modificadas. Só no Instagram, são quase 70 mil seguidores que acompanham de perto suas dicas culinárias. O material de Eline também é divulgado no Facebook e no Pinterest.