;(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

João Francisco Lisboa Escritor e jornalista brasileiro

<p>2 de março de 1812, Pirapemas, MA (Brasil)</p><p>26 de abril de 1863, Lisboa (Portugal)</p>

Da Página 3 Pedagogia & Comunicação

23/12/2009 19h28

Autodidata, João Francisco Lisboa tornou-se jornalista, mas atuou na política e se dedicou à pesquisa histórica. Segundo José Guilherme Merquior, em sua obra "De Anchieta a Euclides", quando se pensa na sua origem humilde, e no fato de que só maduro saiu do Maranhão, o amplo espectro das suas leituras, o universalismo dos seus conhecimentos e do seu raciocínio não podem deixar de causar espanto e iração".

Em 1832, assumiu a direção do "Farol Maranhense", e publicou também outros dois jornais: "Eco do Norte e Crônica Maranhense". De 1842 a 1855 foi redator do "Publicador Maranhense", onde apareceram alguns de seus melhores textos.

Ao mesmo tempo, Lisboa exerceu atividade política. "Político honestíssimo, de vida pública exemplar", de acordo com José Guilherme Merquior, em 1835, além da eleição para deputado provincial, foi secretário do governo, cargo que exerceu até 1838, ano em que foi reeleito.

Decepcionado com a política, afastou-se da vida pública de 1840 a 1842, período em que se dedicou ao estudo do direito. Novamente eleito para a assembleia provincial em 1848, suas convicções liberais e humanistas levaram-no a pronunciar, a 12 de novembro de 1849, célebre discurso defendendo a anistia para os revoltosos da Revolução Praieira, e a publicar, em 1852, o "Jornal de Timon", fascículos mensais de crítica aos costumes políticos e sociais da época.

Para José Guilherme Merquior, "as narrativas e reflexões do Jornal de Timon [...], fruto do silêncio do publicista, trocando a ênfase pelo juízo irônico, buscando por trás dos costumes e das ideologias as molas ocultas do comportamento humano, [...] soam como palavra íntima, em que os recursos expressivos da língua são o instrumento de uma crítica da experiência".

João Francisco Lisboa mudou-se para o Rio de Janeiro em 1855, ando a colaborar no "Correio Mercantil". No ano seguinte foi encarregado de substituir Gonçalves Dias nas pesquisas junto aos arquivos portugueses, visando colher dados para uma história do Brasil. Antes de sua morte, ainda visitaria mais uma vez o Maranhão, em 1859.

Na opinião de José Guilherme Merquior, João Francisco Lisboa, "nosso último grande neoclássico, prefigura o humor corrosivo e penetrante de Machado de Assis".

Fonte: Enciclopédia Mirador Internacional; De Anchieta a Euclides