março 2018


Hoje vou deixar aqui o css para tooltip, pois muitas vezes é necessário fazer uso dessa janelinha flutuante, para mostrar um detalhe a mais, seja sobre o vocábulo em si ou o contexto geral do projeto.

Confesso que tenho preguiça de fazer uso, mas é bem simples, depois que se tem o css no template do seu blog, basta referenciar a classe e zás a mágica acontece.

Claro que não se coloca qualquer código, tudo precisa ser coerente, para o vídeo por exemplo note que é uma tag responsiva.


Aqui usei a classe toolvbt para não dar problema com outros aplicativos, mas você pode usar qualquer nome de classe que lhe convier.

Para os 'desavisados'; o vídeo tem áudio então melhor verificar o volume de seu dispositivo antes de dar o play. Cabe lembrar também que é algo sensível ao toque, de maneira que se pode usar no smartphone sem problemas, toque no "i" e 'voilá', sua dica de contexto estará ao vivo!

Nosso vídeo Este é apenas um demostrativo de uso de tooltip informações adicionais. Você pode inserir fotos, videos ou simplesmente uma frase a mais para orientar seu discurso.  antigo.

Adicionando css em seu blog/site, com font awesome você faz algo impressionante! Com pouco código.

Nem se quer há necessidade de marcar o código, tal a simplicidade. Insere o css na sua skin tag e depois insere o conteúdo desejado na tag a class='suajanelinha', isso é css3.

Até mais, um abraço!


Prosseguindo nosso estudo e uso de json, vamos mostrar o mesmo widget aqui, com páginas do nosso blog, isso mesmo, o mesmo script com o mesmo css. O que muda é apenas uma palavra; sai posts e entra pages.
Agora já não mais necessitamos de marcas, uma vez que o código, está disponível na postagem anterior.
Bom sempre lembrar de inserir pelo menos uma imagem em cada postagem para que os aplicativos funcionem bem.



E é assim que é!
Em 2020 com o novo construtor, enquanto não resolvo tudo, terei que retirar o código daqui.


Leitura sugerida http://www.danpros.com/2013/08/blogger-json-feed-api

Abraço e até mais!

Para 2018 novas postagens sobre os mais diversos assuntos e um deles é o template que deverei trocar em breve, estou trabalhando no projeto, experimentei vários e não gostei de nenhum! Encontrei defeitos em todos, assim como no meu, kkkk.
Tem a minha parte de experimentos que pretendo manter e tem a nova parte em que pretendo compartilhar códigos, então a ideia é, fazer uma postagem com o resultado e fornecer o código dele na mesma postagem, o que ao meu ver é algo inovador, já que a maioria absoluta do que vi até hoje, possui demo em separado e quando muito!
Antes pensei em fazer widgets e aí o Google lançou essa séria de novidades no Blogger, mas mesmo assim, a gente sempre quer algo diferente.
Nos resta estudar muito e fazer o pouco que nos cabe, para obter este resultado diferente.
Claro que a maioria faz apenas copiar e a prova maior disso é quando ocorre algo como o servidor parou, oh! E agora!
Então se você estuda um pouco, logo aprende alguns macetes, que lhe evitam dores na "moringa".
Macete é algo como, um script não precisa estar no servidor "X" ou 'Y', note que script é processado no cliente, então eu posso colocar o script aqui e quando você acessa, seu telefone, ou seu computador irá processá-lo.
Assim sendo eu evito que o servidor x pare de funcionar e deixe minha página em branco, também se fica mais seguro quanto a eventual alteração que possa haver no arquivo.
Hoje vou tentar compartilhar aqui um código de "slider" com imagens claro mas configurável, como dito de início é preciso um conhecimento mínimo de html, javascript e css.
Não é apenas copiar e colar, é ir percebendo o que se coloca onde, css, javascript, html, ora, se o javascript vai colocar algo num elemento html, esse elemento html tem que pré-existir ou você precisa usar o próprio javascript para criar o elemento html.
Vamos ver se funciona então, tudo aqui; css acima, html no meio, o script logo abaixo e por último a chamada da funcão, bem embaixo.
Uns chamam de bug, eu creio que é sacanagem de um programador Blogger, o programa Blogger simplesmente troca javascript void(0). Ah! sacanagem!




Conseguimos? Sim. Talvez muitas pessoas nem imaginam que se pode colocar conteúdos que estamos acostumados a ver na sidebar, em uma postagem, muito menos que dá pra colocar todo o código aqui mesmo, dentro do corpo da postagem.
Um passo a mais foi dado, mas a caminhada é longa!
Você já pode imaginar o que dá pra fazer com json, se é possível clicar no número e ver uma imagem "x" então podemos fazer isso com o resumo e até com a postagem completa.
Já observou como funciona o resumo do blog? Vai lá, dá uma olhadinha.

Para seu estudo e experimento, todo o código do slider está entre as marcas vermelhas e não perde o próximo episódio, adicione este blog à sua lista, clique na estrelinha:
Abraço e até a próxima!

Segunda parte do estudo de json, formas de usos no Blogger.
Nessa parte vamos ver, segundo a tradução, como liga de volta: "callback".
Eu quero que ligue de volta numa função javascript, posso dar qualquer nome para essa função, por exemplo "vbtlist" como que 'listando verbratec' e no script fica assim:
<script src="https://www.verbratec.com.br/feeds/posts/default?alt=json-in-script&amp;callback=vbtlist" type="text/javascript">    
</script>

E você é esperto e acaba de perceber que a forma de chamada é a mesma que usamos para requisitar o uso de uma biblioteca "JQuery" ou "FontAwesome" por exemplo, ou seja, tudo muito simples, quando entendemos como funciona.

 Agora vamos escrever o script do tipo javascript:

<script type="text/javascript">      
function vbtlist(json) {       
for (var i = 0; i < json.feed.entry.length; i++)       
{       
var TotalPosts = json.feed.openSearch$totalResults.$t;       
  }

    var listing = "Total = " +TotalPosts+ " Posts" ;       
document.write(listing);       
}       
</script>
Então juntando as duas partes, temos abaixo o resultado em verde.




Como pode perceber, se você usa F12 no FireFox por exemplo, observa o resultado do script, como vemos na imagem.


Prosseguindo com o estudo, temos:
https://www.meublog.blogspot.com.br/feeds/posts/default?alt=json-in-script&callback=minhaFunctionJs
E então adicionamos mais parâmetros:
https://www.meublog.blogspot.com.br/feeds/posts/default?alt=json-in-script&callback=minhaFunctionJs&max-results=1000&start-index=1
E max-results e start-index, como você deve saber, instruem a plataforma Blogger a retornar um número máximo de feeds de 1000 (neste exemplo de URL), a partir do primeiro feed disponível ordenado pelo último publicado. Nos vários exemplos sobre o mesmo tópico, você pode encontrar praticamente todos os valores máximos para um número como 999999 para ter todos os feeds retornados em uma chamada. No entanto, googling ao redor, parece que há o suspeito Google definir um limite máximo de feeds é possível entrar em uma única chamada. Como de costume, esse limite "oficial" é indocumentado do que, apenas para evitar problemas, neste exemplo, vou escolher extrair os feeds com etapas de 1000, você pode aumentar esse valor se quiser. Fonte completa de código javascript:
 
<script type="text/javascript">
    var StartIndex = 1;
    var MaxResults = 1000;
   function minhaFunctionJs(BlogData) {
        var Feed, i;
     for (Feed = BlogData.feed, i = 0; i < Feed.entry.length; i++) {
            var PostUrl, ImgUrl, Entry, Content, Title, x;
            Entry = Feed.entry[i];
            Content = Feed.entry[i].content.$t;
            Title = Feed.entry[i].title.$t;
            ImgUrl = PostUrl = '';
            if (typeof Feed.entry[i].media$thumbnail !== 'undefined') {
            ImgUrl = Feed.entry[i].media$thumbnail.url;
            }
           for (x = 0; x < Entry.link.length; x++) {
                if (Entry.link[x].rel == 'alternate') {
                    PostUrl = Entry.link[x].href;
                    break;
                }
            }
            // Aqui você tem todos os dados básicos do post, use como quiser   
        }
        if (i < MaxResults) {
            //Todos os feeds foram extraídos
        } else {
            var ScriptObj = document.createElement('script');

            var FeedsUrl = 'https://www.meublog.blogspot.com.br/feeds/posts/

default?alt=json-in-script&callback=minhaFunctionJs&max-results=' + MaxResults + 

'&start-index=';
            StartIndex = (StartIndex + MaxResults);
           ScriptObj.src = (FeedsUrl + StartIndex);
            document.body.appendChild(ScriptObj);
        }
    }
    function StartFeedsExtraction() {
        var ScriptObj = document.createElement('script');

        var FeedsUrl = 'https://www.meublog.blogspot.com.br/feeds/posts/

default?alt=json-in-script&callback=minhaFunctionJs&max-results=' + MaxResults +

 '&start-index=';
ScriptObj.src = (FeedsUrl + StartIndex);
        document.body.appendChild(ScriptObj); }
</script>
<script type="text/javascript">
    StartFeedsExtraction();
</script>


Esta chamada inicia o processo de extração de feeds. Basicamente, ele insere dinamicamente uma chamada em um URL formatado para obter os feeds do blog. Depois que o processo foi iniciado corretamente, o minhaFunctionJs() foi chamado automaticamente com o intervalo de dados dos feeds solicitados. O primeiro ciclo extrai as informações básicas do post, como conteúdo, título, URL do post e URL da imagem (se a imagem estiver presente, geralmente é a primeira imagem do post). Se você precisar de mais dados, examine a estrutura da árvore de postagens conforme descrito acima e leia as informações adicionais que deseja. A segunda condição if (i < MaxResults) verifica se todos os feeds foram extraídos. Como pedimos um número máximo de feeds de MaxResults (isto é, 1000 no nosso exemplo), se o número de feeds retornado não for menor para esse valor, provavelmente significa que há feeds adicionais disponíveis. Nesse caso, repita a operação para solicitar dinamicamente novos feeds aumentando o índice inicial para o próximo intervalo. Caso seja menor, significa que todos os feeds foram extraídos e a operação pode ser concluída.
Observe que a mesma operação pode ser feita extraindo feeds conectados apenas a alguns marcadores. Bastará alterar o URL assim:
https://www.meublog.blogspot.com/feeds/posts/default/-/meuMarcador/?alt=json-in-script&callback=minhaFunctionJs

Abraço e até a próxima!
Este estudo se guia pela publicação do Mohammad Mustafa Ahmedza em https://www.mybloggertricks.com/2015/10/introduction-to-blogger-json-feeds-and-blogger-data-api.html
Mohammad começou a blogar em agosto de 2008 logo após completar seu GCE A Level. Após uma desqualificação do visto dos EUA para estudos superiores, ele começou a escrever blogs para se livrar da crescente depressão e, em seguida, sua vida mudou drasticamente. Ele começou a ter interesse em ajustar os Modelos do Blogger ao ler detalhadamente artigos on-line. Sua sede de aprender e entender as últimas tecnologias da web, como HTML4, CSS3, PHP e JavaScript, o equipou com uma excelente arte de web design. Ele agora é um web designer e desenvolvedor web por todos os direitos sem ter feito qualquer treinamento profissional.

  Pensando em desenvolver seu próprio template, com seus widgets específicos, com aquelas funções que, só você teve a ideia exclusiva e não sabe por onde começar! Comece com json apiv3 Blogger. Você vai ficar muito contente com o que vai descobrir e fazer em seu blog.
API - Application Package Interface é o meio de comunicação para aplicativos permite interagir uns com os outros. Desenvolvedores de um aplicativo fornecem APIs para que outros desenvolvedores criem aplicativos e interajam com os seus próprios. Da mesma forma, a equipe do Blogger criou uma API própria(apiv3), que permite aos desenvolvedores externos interagir com o sistema de gerenciamento de conteúdo do Blogger.
Abra este link para ver de onde virão os dados de nosso blog aqui:
https://www.verbratec.com.br/feeds/posts/default?alt=json Você precisa saber um pouco de html, css e javascript para seguir em frente. Não é necessário um know-how avançado e você não precisa ser um programador qualificado para entender os conceitos. Vamos tentar o nosso melhor para tornar o mais fácil possível, nosso estudo aqui.
Você poderá criar seus widgets de comentários, galeria com imagens de seus posts, widgets resumos de postagens e muito mais. O céu é o limite.

JSON - JavaScript Object Notation é um formato leve de intercâmbio de dados fácil para humanos ler e escrever. É fácil para as máquinas analisar e gerar. Ele permite que o navegador interaja facilmente com seu servidor de blog e obtenha dados muito mais rápidos em comparação com o XML, que é muito mais lento neste caso.
O objeto feed é onde todos os dados do seu blog são armazenados como mostrado na imagem.
Tudo está dentro das chaves{}.
Observe o objeto title nome da variável $t: valor Verbratec.
Entre conchetes estão as arrays


Novatos como eu muitas vezes confundem o Blogger JSON API, com o Blogger JSON Feeds. Os feeds JSON são arquivos simples usados ​​para armazenar e/ou trocar dados, enquanto a JSON API é uma Interface de Pacote de Aplicativos que permite interagir com outras aplicações de terceiros.

Caso seu navegador não mostre json como vimos na imagem(árvore de dados), você pode acessar o site https://codebeautify.org/jsonviewer para ver sua árvore de dados.



Então temos na árvore de dados, os objetos entre chaves e arrays entre conchetes, agora vamos ver a lista:
 {}id - único identificador em cada postagem.
 {}published - data da publicação da postagem.
 {}update - data da última edição.
 {}category - mostra os marcadores da postagem
 {}title - mostra o texto título da postagem

Algumas coisas como por exemplo, openSearch$itemsPerPage dependem das configurações internas feitas no seu blog, eu configurei o meu blog para mostrar 50 postagens, os valores usuais são 10, 25, 50 e 100.
Já observei que no painel do Blogger a contagem inclui as postagens em rascunho.
Todos os dados das postagens estão em https://www.verbratec.com.br/feeds/posts/default?alt=json
Todos os comentários logicamente em https://www.verbratec.com.br/feeds/comments/default?alt=json
Então as páginas estáticas estarão em https://www.verbratec.com.br/feeds/pages/default?alt=json

Se você é como eu, gosta de aventura e copiar códigos de scripts como "slides", e já deve ter reparado nessa linha:
https://blogname.blogspot.com/feeds/posts/default?alt=json-in-script&callback=myFunc
Pessoas mais preguiçosas nem se dão ao trabalho de explorar e estudar, apenas copiam e usam, trocam o nome do blog e algumas nem isso fazem, claro que não funciona e vão reclamar, kkkkk.
Essa linha de código veio de onde afinal? Sim é a primeira linha das amostras, veja só: https://developers.google.com/gdata/samples/blogger_sample
Aproveita e dá uma boa olhada, mas volta hein!
Voltou que legal!
Como vimos json-in-script diz algo diferente ao Blogger, ou seja o Blogger devolve de de forma diferente as requisições feeds/posts/default?alt=json e feeds/posts/default?alt=json-in-script
Quando usamos json-in-script dizemos ao Blogger que queremos usar javascript e então obtemos uma função chamada: gdata.io.handleScriptLoaded.
Se você não percebeu isso, ainda está em tempo, abra os próximos dois links e observe o início da primeira linha de código retornada; link 1 com alt=json
Link 2 com alt=json-in-script e nossa função gdata.io.handleScriptLoaded como resultado.
Na próxima etapa vamos ver como javascript pega os dados.

Abraço e até a próxima!
Este estudo se guia pela publicação do Mohammad Mustafa Ahmedza em https://www.mybloggertricks.com/2015/10/introduction-to-blogger-json-feeds-and-blogger-data-api.html
Mohammad começou a blogar em agosto de 2008 logo após completar seu GCE A Level. Após uma desqualificação do visto dos EUA para estudos superiores, ele começou a escrever blogs para se livrar da crescente depressão e, em seguida, sua vida mudou drasticamente. Ele começou a ter interesse em ajustar os Modelos do Blogger ao ler detalhadamente artigos on-line. Sua sede de aprender e entender as últimas tecnologias da web, como HTML4, CSS3, PHP e JavaScript, o equipou com uma excelente arte de web design. Ele agora é um web designer e desenvolvedor web por todos os direitos sem ter feito qualquer treinamento profissional.

 Há muitos erros no blog, são umas quatro mil linhas de código e tem essa coisa de xml, html, css, javascript...
 Outro detalhe é a parte que não temos acesso(noreply@blogger.com), então não temos como resolver, as vezes nos resta apenas a alternativa de retirar quando se trata de um widget por exemplo.
 Os dados estruturados são um caso interessante e eu nem estava me importando muito com isso, mas aconteceu ao acaso, descobri uma ferramenta nova (para mim) do Google, que analisa essa parte e indica onde há problema, já a solução é por sua conta, kkkkk!



 Link para a ferramenta:
    https://search.google.com/structured-data/testing-tool

Para mim está um tanto confuso, devido aos inúmeros testes que fiz e adaptações, agora tenho aqui uma mistura de tipos de microdados, como:
hatom e application/ld+json.

Como estou sem erros pelo menos, não vou perder tempo com isso agora.
Meu template foi construído em vários anos e gosto um tanto dele, sei que seria melhor algo responsivo, mas só de pensar em mudar já fico triste.

Algo sugerido: https://json-ld.org/

Abraço!

  Você com certeza já sabe que criptografia nada mais é que codificar.
Agora que todos podem usar https no Blogger, resolvi pesquisar um pouco mais, daí descobri uma entidade americana que tem um plugin, uma extensão para o navegador, que faz justamente essa parte.
 O site é o https://www.eff.org/pt-br/https-everywhere




 Gostei da proposta e resolvi testar, para instalar no Chrome usei a loja: https://chrome.google.com/webstore/search/https-everywhere
 Mas não fiquei nisso, baixei e instalei também no Firefox.


Não muda quase nada para mim que tenho uma navegação bastante segura, mas já comecei a ter curiosidade sobre sites que acessam o meu site, será?
Fiz todos os procedimentos para deixar o site seguro, mas havia apenas o cadeado verde, agora com a extensão no navegador apareceu a palavra "seguro" ao lado do cadeado, hummmm!

Estou "enkukado" com isso!

Abraço!
Artigo sugerido: https://letsencrypt.org/docs/integration-guide/

Jair de Jesus

Estudante de HTML, CSS, json, Blogger e tal.{picture#https://1.bp.blogspot.com/-nLQAtnyjw9Q/XgewzgENccI/AAAAAAAAFJw/hVY1XC8En2EEMSDsJWk3J4_UTMNDxGR8gCK4BGAYYCw/s35/jair.jpg}{facebook#https://facebook.com/verbratecajuda}{youtube#https://youtube.com/verbratec} {twitter#https://twitter.com/verbratecajuda}

Formulário de contato

Nome

E-mail *

Mensagem *