Seu próprio Blogroll usando Delicious

Antes de mais nada, blogroll é uma coleção de links para outros blogs. Este termo é como é conhecido internacionalmente, apesar de eu colocar em meu blog com o título Blogs amigos, tentando parecer mais amigável ao leigo (bom trocadilho, né?).

Já faz um bom tempo que mantenho esse Blogroll em meu blog. Para fazer esse blogroll antigo, eu usava dois serviços: o delicious com sua exportação para RSS e o módulo Drupal agregador de conteúdo, que é capaz de criar um bloco para um certo RSS.

Eu criei uma tag "blog" no Delicious e comecei a jogar lá todos os blogs que achava interessantes (freqüentemente, os blogs cujo RSS eu também assino). É daí que vêm minha lista de blogs amigos.

Mas havia alguns inconvenientes nessa estratégia, dentre os quais posso citar dois como principais: a dificuldade de personalizar o blogroll apenas, sem interferir em outros blocos gerados pelo mesmo esquema; e, o principal, a ordem em que aparecem os blogs ser a partir dos mais novos.

É interessante mostrar a partir dos mais novos, mas quando se trata de um blogroll com muitos blogs na fila, começa a ficar bem injusto, pois os blogs mais antigos terminam nunca mais aparecendo.

Como sera o ideal? Uma forma de pegar todos os blogs que cadastrei, escolher alguns deles (10, por exemplo) ao acaso e mostrá-los. Assim todos teriam chances iguais de aparecer.

Passei hoje no Delicious e descobri que ele oferece uma forma de manipular essas informações para apresentarmos da forma que quisermos. Sim, um arquivinho JavaScript com todo o conteúdo facilmente acessível.

A partir do exemplo que o Delicious apresenta, fiz um blogroll do jeitinho que eu queria, e mais: com o ícone de cada site!

Quem quiser usar essa idéia, fique à vontade! Aqui está o código, e você só precisa mudar o endereço http://del.icio.us/feeds/json/bardo/blog?count=100 no código, trocando bardo por seu login e blog pela tag que você usa, e definir em qtShow para a quantidade de blogs que você quer mostrar no seu blogroll. Claro que, desde que saibam o que estão fazendo, estão livres para mudar bem mais que isso no código...

<div id="myblogroll"></div>
<script type="text/javascript" src="http://del.icio.us/feeds/json/bardo/blog?count=100"></script>
<script type="text/javascript">
qtShow =13
function showImage(img){
return (function(){
img.style.display='inline'
})
}
function randOrd(a,b){
return (Math.round(Math.random()) -0.5)
}
ul =document.createElement('ul')
ul.style.listStyle ="none"
allp =new Array()
for (i in Delicious.posts){
allp.push(Delicious.posts[i])
}
allp.sort(randOrd)
last =(allp.length >qtShow) ?qtShow :allp.length -1
for(i =0; i <=last; i++){
post =allp[i]
li =document.createElement('li')
a =document.createElement('a')
a.style.marginLeft ='20px'
img =document.createElement('img')
img.style.position ='absolute'
img.style.display ='none'
img.height =img.width =16
img.src =post.u.split('/').splice(0,3).join('/')+ '/favicon.ico'
img.onload =showImage(img)
a.setAttribute('href',post.u)
a.appendChild(document.createTextNode(post.d))
li.appendChild(img)
li.appendChild(a)
ul.appendChild(li)
}
document.getElementById('myblogroll').appendChild(ul)
</script>

E pronto! É só colocar em um bloco no template do seu site e você tem o seu próprio blogroll, de facílima manutenção (é só adicionar links pelo Delicious).

Notas Anexas

Primeiro, o especialista em JavaScript aqui simplesmente não sabia que esta linguagem tinha uma estrutura de dados similar a Array (simplificado) sem usar a classe Array. Alguém sabe mais a respeito? Sabe um jeito mais prático de converter para Array ou contar seus elementos? Se alguém souber, eu agradeço!

Outra: se você tem um blog e tem acesso aos arquivos do blog, por favor coloque um favicon.ico na raiz do PATH do seu blog! Com isso, seu blog aparecerá com ícone nos blogs que usarem este código e te adicionarem.

O Poder das Barras Laterais

Se você utiliza um programa de navegador moderno e eficiente, provavelmente ele oferece um recurso que ultimamente tem sido esquecido pela maioria dos usuários e webdesigners: as barras laterais.

O que são sidebars

Você usa o Mozilla Firefox? Vá em Exibir, Painel e verá a lista de barras laterais disponíveis. Clique em qualquer uma delas pra vê-la funcionando.

Você usa o Opera? No canto esquerdo há uma lista de botõesinhos, um acima do outro (é muito botão pra um navegador só!). Clicando em cada um deles você ativa sua barra lateral para a função correspondente.

Você usa o Mozilla? O completo, e não o Firefox? Então simplesmente aperte a tecla *F9*. Você verá a lista de algumas barras laterais disponíveis.

Enfim, uma barra lateral (ou painel) nada mais é do que uma área retangular estreita e comprida que aparece na área à esquerda no navegador, ao lado da área de apresentação de páginas. Essa área pode apresentar conteúdo interessante, como é o caso da barra lateral What's Related do Mozilla, que encontra páginas que têm a ver com a página que você está vendo agora na área principal.

O que coloco nisso? (como uso isso pra melhorar meu site)

Um sidebar na verdade é apenas uma página HTML simples. No caso do Mozilla e do Mozilla Firefox, pode ser uma página utilizando XUL (linguagem própria de interface das aplicações Mozilla). Ou seja, você pode adicionar funcionalidades criando um pequeno programa que fique ao lado da página principal: uma calculadora, um chat simplório sempre presente, um formulário para publicação em blogs... São diversas as possibilidades, mas vejamos apenas os casos simples, que já oferecem bastante poder (e também funcionam no Opera). Você pode:

  • listar as últimas notícias - com contador de comentários entre parênteses ao lado de cada uma delas;
  • oferecer links diretos para as principais seções do seu site;
  • oferecer um formulário minúsculo para busca direta no seu site;
  • oferecer um sinalizador para seu status de online (aquela imagem pequenininha que diz se você está ou não online no momento) de ICQ ou Yahoo!;
  • colocar a previsão do tempo e cotação do dólar discretamente, embaixo de tudo isso;
  • o que mais você achar interessante.

Você pode fazer do sidebar um RSS com super-poderes, com muitas informações além das últimas notícias publicadas. Pense nele como um recurso adicional a se oferecer: se usuário quiser um RSS, usa um RSS; se quiser um Sidebar, instala o sidebar.

Um exemplo de aplicação para Sidebars é o instalador de Sidebars do The One Ring, sugerido pelo Hugo nos comentários. Fica em http://www.theonering.net/staff/corvar/cgi-bin/sidebar-inst.pl.

Criando um arquivo estático

Vamos então a um exemplo simples. Como fazer um sidebar estático com uma lista de links? Simples! Escreva um HTML normal (pensando no espaço reduzido) com única diferença: todo link que você pretende que abra na área de conteúdo do navegador deve ter target="_content".

E é só isso! Notícia 01 Mas é claro que você dificilmente vai querer algo estático. Da mesma forma que uma página normal, o sidebar pode ser também uma página PHP, JSP, Perl/CGI... O que você quiser.

Instalando a Sidebar no navegador

O próximo passo é criar um link para instalar o sidebar que você fez para o seu site. Conheço até o momento dois tipos de link: um para instalar nos navegadores Mozilla e outro para o Opera. Ainda não descobri um link para o Konqueror, se alguém souber comenta aqui!

Para instalar em um navegador mozilla, coloque um qualquer coisa que ative a seguinte função JavaScript (pode ser um link, um botão...): sidebar.addPanel("Site Teste", "http://www.tes.te/sidebar.php", "") Substitua o título do sidebar e o endereço para o arquivo pelos valores que desejar.

Para o Opera, você deve fazer um link normal para o arquivo, adicionando o atributo rel, desta forma: Instalar Sidebar ----

Concluindo

Espero que este texto traga um pouco de esclarecimento sobre o assunto. São poucas linhas, mas a coisa é realmente simples. O que espanta é a falta de popularidade de um recurso tão útil. Mas ainda há tempo para revertermos o quadro! Principalmente agora, com a ascensão do Firefox...

Heroes é Massa

Tudo bem que a ambientação de Heroes não é uma idéia lá muuuuito original. Os X-Men seguem exatamente o mesmíssimo conceito de "evolução da espécie humana para atingir super-poderes". Também não é original isso de missão para salvar o mundo: é a coisa mais antiga que existe com histórias de super-heróis.

Mesmo o fato de esses heróis não terem uniformes e descobrirem seus poderes aos poucos também não é novidade. Na Marvel já havia a Geração-X (acho que era esse o nome). Eu mesmo tenho um cenário de RPG para uso nessa linha (é onde ambientei meu romance Marfim Cobra). Tempos depois ouvi falar de Cartas Selvagens, um cenário de RPG para super-heróis que já existia há um bom tempo... Ah, e o Smallvile...

Mas apesar de tudo isso, Heroes é muito bom! Não pela originalidade, nem tanto pela trama. (tá, a trama está até interessante no começo da primeira temporada - que está passando na Record nas noites de domingo) É bom justamente pelo fato de a idéia de se ter super-poderes ser interessante, principalmente se tratada de uma forma mais "realista", com menos capas coloridas e máscaras.

E pra finalizar, já que todo mundo já falou de Heroes mesmo na Blogosfera... Você sabia que a NBC disponibiliza um Graphic Novel de Heroes online (também em PDF)?

Festival da Primavera de Arapiraca

Vem pra cá, Arapiraca te espera! Vem curtir o Festival da Primavera! (cuidado! Perigo! Site feito totalmente em flash :-S)

Cidade Negra, CPM22, Detonautas e Paralamas do Sucesso são as bandas mais conhecidas a participar deste evento na capital do agreste alagoano, que acontecerá nos dias 26, 27 e 28 de outubro.

Só uma nota de utilidade pública. ...Ou inutilidade, depende diretamente da distância em que sua cidade se encontra da minha. :-P Quem mora pertinho vê se aparece! Chato é que Cidade Negra é justo no dia do 2o. Encontro Nacional do BrOffice.org. Vou ter que dar um jeito de ir pros dois...

Embora já houvesse ouvido rumores sobre o Festival da Primavera, só vim saber mais (e saber que tinha um site) depois do post do Enderson.

A Escola Gerando Traumas

Este é um dos vídeos da ERD Filmes que se encontra no YouTube. Além de bons curtas de humor como O Sindicato ou o Mundo em Mudanças, a ERD também tem vídeos mais sérios, com bons questionamentos (mesmo os curtas de humor trazem bons questionamentos).

É o caso desta entrevista. É interessante ver como a escola pode prejudicar o desenvolvimento de um ser humano inteligente e que tem sede de saber.

Confira os vídeos da ERD Filmes no YouTube. Valem a pena!

João de Lima

João de lima é um cantador, poeta e violeiro de nível, de Alagoas mesmo mas, embora eu não conhecesse, já andou o Brasil todo (diz ele que é conhecido em vários cantos do mundo).

O legal é que encontrei um album seu à disposição de quem quiser conhecer, com autorização do próprio João de Lima, na página Viçosa de Alagoas. Quem se interessa por viola e poesia popular, dá uma passada por lá!

Modelo de Envelope para CD

Se você acompanha meu outro blog, certamente já viu sobre o NTI CD. É um CD que publico com uma coletânea de softwares para Windows, em sua maioria livres. Também funciona como um Live CD do Puppy Linux, para que você possa, sem precisar mexer no HD, testar essa pequena e brilhante distribuição GNU/Linux.

Um dia desses publiquei um envelope para CD inspirado no do Paper CD Case.

Hoje eu trago o modelo para quem quiser fazer seu próprio envelope personalizado. Está em formato ODF Gráfico. Ou seja, use preferencialmente o BrOffice.org ou o OpenOffice.org.

Se você não tem o BrOffice.org ainda, trate de baixá-lo agora mesmo! É um software excelente! Aproveite para conferir o BrOffice.org Zine também, além de outros modelos legais no Escritório Aberto.

Se não tem nem quer baixar o BrOffice.org, não tem problema. Publiquei também um PDF meio genérico pra você. Só não vá inventar de reduzir para caber no papel na hora de imprimir, hein! Senão vai ter que dar um jeito de reduzir o CD também... :-P

Que iPhone que nada! Quero um OpenMoko!

À sombra do iPhone segue um projeto Software Livre discretamente. 

Mas o OpenMoko, projeto que pretende criar a primeira plataforma integrada para comunicação móvel na forma de Software Livre pretende ter seu primeiro celular (Neo1973) lançado ainda este ano. Quem apoia Software Livre - e tem condições financeiras pra isso - tem que dar preferência a soluções livres em geral. É uma forma de apoiar a idéia, investir na idéia.

A propósito, se alguém souber de um MP4 Player que suporte OGG Vorbis (e possivelmente Theora)  e que não seja exorbitantemente caro, me diz, ok?

Dois

Não te peço como prêmio. Um troféu ou uma cabeça de elefante na parede para a todos que passem eu dizer: "Vejam, eis ali mais uma das maravilhas que EU conquistei nessa vida". Não te cobiço pra levar comigo a tiracolo para onde eu for, me exibindo para amigos e transeuntes.

Não te peço ordens. Não sou um vassalo em busca de um Senhor em corpo feminil. Como um animal de corte incapaz de dar sequer um passo sem alguém mandar.

Porque sou um homem, te quero como mulher. Com toda a beleza e força que tem, todo o brilho, toda luz e toda sombra. Não te peço algema, tampouco tua alma. Mas não vim até aqui farejando o teu corpo como um cão sedento, com o pensamento de uma noite de prazer.

Porque te amo. Só te peço a confiança, a atenção, a cumplicidade. As tuas horas, as tuas palavras, que transformaremos em nossos momentos. Só te peço amor. O teu amor, não o amor que um dia imaginei em ti. O teu amor, seja ele como for, sendo você como é. O teu amor que guardas para mim.

Não te peço para ser como eu. Não pretendo me tornar você. Embora saiba que é inevitável sermos um um pouco o outro no final, se já não formos hoje. Mas se algum dia nos tornarmos um, que esse um seja uma parte igual de cada um de nós, para que assim nós possamos dizer: tudo valeu a pena.

Páginas

Subscribe to O Bardo RSS

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo.so' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo.so: cannot open shared object file: No such file or directory in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_odbc.dll' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_odbc.dll: cannot open shared object file: No such file or directory in Unknown on line 0