Created
July 30, 2013 04:08
-
-
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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 < 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 = /<\S[^>]*>/g; | |
resumen = resumen.replace(strip, ""); // Eliminamos las etiquetas HTML de nuestros resúmenes | |
if(resumen.length > 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