Durante varios días he estado elaborando un script para poder mostrar un listado con los últimos artículos del blog y hacerlo de manera aleatoria, es decir, que los títulos de las entradas recientes aparezcan con un diferente orden según navegamos por el blog.
El resultado ha sido muy prometedor y por ello quiero agradecer desde aquí a JMiur, de Vagabundia, por haber publicado un total de cinco entradas en las que nos introduce fácilmente al mundo del javascript.
La instalación de este widget es muy sencilla y lo mejor de todo es que no demora demasiado el tiempo de carga en el blog.
Pega el script:
<div id="blentradasalt">
<script>
var bldireccionpost=new Array();
var bltituloentrada=new Array();
var blpp_entrada=new Array();
var blfechadia=new Array();
var blfechames=new Array();
var blfechanio=new Array();
var bltot_post=0;
var blfechames1=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];
function blista_mostrar(a){function b(){if("entry" in a.feed){var blmustr=a.feed.entry.length;bltot_post=blmustr;ii=0;for(var blmustr4=0;blmustr4<blmustr;blmustr4++){var m=a.feed.entry[blmustr4];var e=m.title.$t;var l=m.published.$t.substring(0,10);var p=m.published.$t.substring(5,7);var g=m.published.$t.substring(8,10);var n=blfechames1[parseInt(p,10)-1]+" "+m.published.$t.substring(0,4);var c="/"+m.published.$t.substring(0,4)+"_"+p+"_01_archive.html";var blmustr3;for(var blmustr2=0;blmustr2<m.link.length;blmustr2++){if(m.link[blmustr2].rel=="alternate"){blmustr3=m.link[blmustr2].href;break}}var o="";for(var blmustr2=0;blmustr2<m.link.length;blmustr2++){if(m.link[blmustr2].rel=="enclosure"){o=m.link[blmustr2].href;break}}bltituloentrada.push(e);blfechadia.push(l);bldireccionpost.push(blmustr3);blfechames.push(n);blfechanio.push(c);blpp_entrada.push(g)}}}b();blmustr_posts()}function blmustr_posts(){var a=0;var b=0;while(b<bltituloentrada.length){temp1=blfechames[b];firsti=a;do{document.write('<a href="'+bldireccionpost[a]+'">'+bltituloentrada[a]+"</a>");a=a+1}while(blfechames[a]==temp1);b=a;if(b>bltituloentrada.length){break}}document.write('<a style="font-size:80%" href="http://goo.gl/koKd.qr"title="Ayuda y Trucos Blogger" target="_blank">Conseguir widget entradas recientes</a>')};</script>
<script style="text/javascript">
var numeroentradas_total = 6 + Math.floor(Math.random() * 20);
document.write("<script src=\"http://elbalcondejaime.blogspot.com/feeds/posts/default?start-index="+numeroentradas_total+"&max-results=6&alt=json-in-script&callback=blista_mostrar\"><\/script>");
</script>
</div>
<style type="text/css"><!--
#blentradasalt a{
border-bottom: 1px dashed #ccc;
color: #5588AA;
padding: 2px 0px 8px;
font-size: 14px;
display: block;
text-decoration: none;
}
#blentradasalt a:hover{
color: #CC6600;
text-decoration: none;
}
--></style>
Ahora simplemente debes reemplazar http://elbalcondejaime.blogspot.com por la dirección de tu blog.
Puedes escoger el número total de entradas a mostrar editando el número 6 que encontrarás marcado en color rojo dentro del código.
Para cambiar el color de los títulos de las entradas sustituye #5588AA por el valor hexadecimal de tu color favorito (haz uso de la tabla de colores).
Y ahora... ¡Guarda el gadget para obtener tu widget!
gracias, gracias, gracias, me ha venido de perlas
Te felicito por el script
Me alegro mucho de haberte podido ayudar con este truco, FERSUAQUI. Yo también quiero felicitarte por el elegante diseño de tu blog ^^.
Muchas gracias Jaime por este último truquillo para el blog, lo he aplicado ya y ha sido muy fácil. Un abrazo,
Gracias a ti por comentar, Nieves. Me gusta mucho como te ha quedado ^^.
Hola Jaime!
mi consulta de hoy es la siguiente,he puesto el gadget de ultimas entradas que ofrece blogger a travez del feed,tendras algun truquito para personalizarlo??
como siempre agradezco tu ayuda!
saludos!!
claudia
Hola Claudia! ¿Personalizarlo dices? Hay mil formas de hacerlo.
Puedes añadirle una imagen de fondo si lo deseas, así como iconos pequeñitos al lado de los títulos.
Para realizar esto último, busca la etiqueta ]]></b:skin> en tu plantilla y añade este bloque de CSS encima:
#Feed1 ul li {
list-style-type: none;
background:#FFFFFF url(URL IMAGEN) no-repeat scroll -5px 0;
list-style-type:none;
margin-left:0;
margin-right:0;
margin-top:0;
padding:0 0 6px 14px;
}
Reemplaza URL IMAGEN por la dirección de tu icono y listo ;).