;(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 pé de moleque é uma tradição junina no Ceará. Veja o a o

bolo de pé de moleque - Divulgação
bolo de pé de moleque
Imagem: Divulgação

Cíntia Marcucci

Colaboração para Nossa

01/07/2020 04h00

Rodrigo Duarte

Rodrigo Duarte

QUEM É

Natural de Fortaleza (CE), o youtuber divide o tempo entre o emprego como assessor de comunicação e seu canal Vixe Que Fome, em que ensina receitas de todos os tipos, principalmente as regionais e da época de São João

Há várias receitas populares da culinária nacional que mudam de nome ou de cara conforme a região do Brasil. Nas festas juninas, você pode comer mingau no Pará, mugunzá nos estados do Nordeste ou canjica no Sul e Sudeste.

Todos são feitos basicamente com o milho branco quebrado, açúcar e leite ou água. Com o pé de moleque é o inverso: o mesmo nome para receitas bem diferentes.

"Eu fiquei surpreso quando descobri que em São Paulo pé de moleque é uma lajotinha de amendoim e caramelo. Aqui no Ceará é nome de um bolo que leva rapadura e castanha de caju, minha mãe é fissurada nele, tem por toda a cidade e a gente come nessa época de São João", explica o youtuber Rodrigo Duarte, do canal Vixe que Fome, que compartilha a receita com Nossa.

Rodrigo começou a postar vídeos de receitas em 2016 e teve um boom de os quando fez seu primeiro especial de festas juninas no ano seguinte. "Todo mundo adora e pede mais, então sempre faço novas receitas", conta.

Amor e comida de mãos dadas

Apesar de ter uma família "boa de garfo", o youtuber não pensava em se dedicar à cozinha. Tudo mudou quando Rodrigo conheceu seu namorado e percebeu que tudo em um romance girava em torno de comida.

"A gente ia sair e pensava onde ia jantar, o que iria comer ou o que iriamos cozinhar juntos na casa dele. Isso me deu um estalo e percebi o quanto gostava mesmo de falar sobre receitas", diz.

Mais docinhos de Rodrigo Duarte

Quando foram morar juntos, um dos cômodos se transformou em uma "cozinha estúdio". Aos poucos, eles compraram todos os materiais e equipamentos, fizeram a reforma sozinhos e hoje é de lá que saem as receitas do Vixe que Fome.

Rodrigo Duarte, do canal Vixe que Fome, e seu bolo de pé de moleque - Divulgação - Divulgação
Rodrigo Duarte, do canal Vixe que Fome, e seu bolo de pé de moleque
Imagem: Divulgação

Rodrigo continua trabalhando como assessor de comunicação e o canal é uma outra ocupação que ele trata com todo o cuidado. "Faço pesquisas, busco receitas regionais, tento entender se os ingredientes são fáceis de achar e se tem outros jeitos de fazer o que ensino. Esse bolo, por exemplo, não posso dizer que é superfácil, mas é muito típico daqui e quem fizer não vai se arrepender."