Skip to content

Instantly share code, notes, and snippets.

@vcalderondev
Created July 30, 2013 04:08
Show Gist options
  • Save vcalderondev/6110151 to your computer and use it in GitHub Desktop.
Save vcalderondev/6110151 to your computer and use it in GitHub Desktop.
Un sencillo script que permite devolver las entradas de un blog basado en Blogger a través de JSON, configurable para crear un sitemap, entradas relacionadas, slideshow, etc.
// Obtener posts a partir de las feeds de Blogger
// Por Víctor Calderón Oyarce
// Para Ayuda Bloggers
// http://www.ayuda-bloggers.info
// CONFIGURACIONES INICIALES
var cantidad_posts = 10; // Cantidad de posts que se mostrarán
var caracteres_resumen = 100; // Cantidad de carácteres del resúmen
var tamano_imagen = 100; // Tamaño imagen en píxeles
var url_imagen_no_disponible = "URL IMAGEN NO DISPONIBLE"; // URL de la URL si no existe una imagen
var id_contenedor = "ID_CSS"; // Identificador CSS del contenedor de todos los elementos
var html_personalizado = false; // Usar estructura personalizada, útil si necesitas configurar un slider en particular o algún sistema de terceros
function obtener_feeds(json) {
var posts_obtenidos = json.feed.openSearch$totalResults.$t;
var crear_arreglo = new Array();
document.write('<div id="'+ id_contenedor+'">');
for(var i= 0; i &lt; cantidad_posts; ++i) {
// ELEMENTOS DE CADA POST
var titulo_post = json.feed.entry[i].title.$t; // Título entrada
var miniatura = json.feed.entry[i].media$thumbnail.url; // Thumbnail entrada
var url_post = json.feed.entry[i].link[1].href; // URL entrada
var url_post = url_post.replace('#comment-form', '');
var miniatura = miniatura.replace('s72-c', 's'+ tamano_imagen +'-c' ); // Miniatura
if (miniatura.length == 0) { // Si la entrada no contiene imagen...
miniatura = url_imagen_no_disponible;
}
if ("content" in json.feed.entry[i]) { // Si "content" se encuentra dentro del artículo (Para full feeds)
var resumen = json.feed.entry[i].content.$t
}
else if ("summary" in json.feed.entry[i]) { // Si "summary" se encuentra dentro del artículo (Para feeds resumidas)
var resumen = json.feed.entry[i].summary.$t
}
var strip = /&lt;\S[^&gt;]*&gt;/g;
resumen = resumen.replace(strip, ""); // Eliminamos las etiquetas HTML de nuestros resúmenes
if(resumen.length &gt; caracteres_resumen) { // Si el artículo es superior a la cantidad de carácteres límite, resumimos.
resumen = resumen.substring(0,caracteres_resumen)+ '...';
}
crear_arreglo[i] = i; // Almacenamos el índice del arreglo actual
if(html_personalizado == false) { // Si no hemos habilitado html_personalizado...
document.write('
<div class="ab-json-post">');
document.write('
<div class="ab-post-title"><a href="http://www.blogger.com/%27+%20url_post%20+%27">' + titulo_post + '</a></div>');
document.write('<img alt="titulo_post" class="ab-thumbnail" src="' + miniatura + '">');
document.write('
<div class="ab-post-summary">'+resumen+'</div>');
document.write('</div>');
} else { // Escribe aquí tu propio código utilizando las variables y el ejemplo de arriba
document.write('Empieza a escribir tu código HTML, este es el post índice '+i +'');
}
}
document.write('
<div class="clearfix clear"></div></div>');
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment