Leer y mostrar un feed completo de Blogger sin limitaciones. Índice total. | Oloblogger No hace mucho Blogger redujo la capacidad de lectura de sus feeds mediante JSON , de 500 a sólo 150 entradas por petición y eso ha causado a...

2 de febrero de 2016

Leer y mostrar un feed completo de Blogger sin limitaciones. Índice total.

No hace mucho Blogger redujo la capacidad de lectura de sus feeds mediante JSON, de 500 a sólo 150 entradas por petición y eso ha causado algún que otro inconveniente con los gadgets que se basan en la lectura de un feed para mostrar el contenido de un blog.

Por ejemplo, esto ha generado problemas en los que se utilizan para crear índices de las entradas publicadas (1) (2), pues si las peticiones están programados para sacarlas de 500 en 500 o, en cualquier caso, en tandas de más de 150, no se extraerán bien todas las entradas.

También se han visto afectados los sitemaps que podemos añadir a WebMasters Tools con este tipo de feeds.

Pero para ambos casos, como las entradas se pueden cargar repitiendo la petición mediante start-index y max-results, la solución sencilla pasa por cargar de 150 en 150 (como máximo) en lugar de hacerlo en bloques de 500:

http://tudireccion.blogspot.com/feeds/posts/default?alt=json-in-script&start-index=1&max-results=150&callback=funcion
http://tudireccion.blogspot.com/feeds/posts/default?alt=json-in-script&start-index=151&max-results=150&callback=funcion
http://tudireccion.blogspot.com/feeds/posts/default?alt=json-in-script&start-index=301&max-results=150&callback=funcion
etc.

Sin embargo este método no es suficiente para otros artilugios que necesitan cargar todas las entradas (o más de 150) previamente, para luego realizar una selección filtrada y/o ordenada, como por ejemplo ocurre con los índices por etiquetas (1) (2) (3).

Para estos casos -y para casi para todos realmente- he creado este script que lee de una sola vez todas las entradas que necesitemos, independientemente del límite por feed que existe actualmente o que pueda existir en el futuro.



El algoritmo básico es averiguar el total de entradas publicadas y luego con esa cifra crear automáticamente tantas peticiones como sea necesario, en función del máximo que se admita por petición.

Esas distintas peticiones las gestionaremos indicando un punto de comienzo distinto cada vez (start-index) y el resultado de leer cada "subfeed" se irá añadiendo a un array de feeds. Luego ya será sólo cuestión de recorrer ese array para extraer lo que necesitemos en cada caso.


Como me gusta dar casos generales y así cada cual podrá adaptarlo a sus necesidades, el siguiente código lee todos los datos del feed de Blogger (incluso la miniatura correspondiente al avatar del autor de cada entrada). Pero para no mostrar todo si no es necesario, también he incluido unas variables configurables que podéis ver al principio y mediante las que podréis seleccionar qué elementos mostrar (true) y cuáles no (false).


Esta sería la parte que tendríamos que insertar en plantilla (entre ]]></b:skin> y </head> para no tener que estar repitiéndola si la vamos a usar para varias utilidades (eliminar línea al principio que carga jQuery si ya tenemos esa librería para otra cosa):

<!-- Lector de feeds total www.oloblogger.com -->
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js' type='text/javascript'/>
<script type='text/javascript'>//<![CDATA[
// Parámetros configurables
var web = 'http://www.oloblogger.com'; // Dirección del sitio. Evitar barra "/" al final
var vertotal = true; // Ver número total de entradas publicadas true/false
var total = $('#total'); // Nombre caja para total entradas publicadas
var cajasalida = $('#feed'); // Nombre caja para insertar posts
var postsxfeed = 150; // Como mucho el tope entradas que admite el feed
var leermaximo = 1; // Máximo de entradas que queremos leer/mostrar
var verimagen = true; // Imagen true/false
var anchoimagen = 100; // Ancho/alto de la miniatura
var sinimagen = 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgerbNvRWZUneYI3TxMRiuFkvftKZO_NNckQif1hiWwMRJNE-sMxfQORcgK7abf8Sq1y-dxJKTMrIX6bOgKYUTrIZrEP7bWYyRNhw_bZrp03ESoMt63AF-Dkjpd4hrLa1eJFbcwsjXAO6Hn/s400/cooltext90744301.jpg'; // Miniatura por defecto
var vercontador = true; // Ver Ordinal de los posts mostrados
var verfecha = true; // Ver fecha true/false
var veretiquetas = true; // Ver las etiquetas true/false
var separadoreti = '- '; // Símbolo de separación etiquetas
var verautor = true; // Ver autor de la entrada
var vernumcom = true // Ver número comentarios
var vertitulo = true; // Ver título entrada true/false
var vertexto = true; // Ver sumario true/false
var maxcaracteres = 200; // Número caracteres por sumario
// Parte ejecución
var feed=web+'/feeds/posts/default';var contposts=-1;var reimg=/[\/=][sw][0123456789].+[\/o]/g;var reimg2=/\/s[012345679].+\/$/g;$.getJSON(feed+'?alt=json&callback=?').done(function(data){var longfeed=data.feed.openSearch$totalResults.$t;if(vertotal){$(total).append('Total entradas publicadas: '+longfeed)}if(longfeed>leermaximo){longfeed=leermaximo;$(total).append('. Mostrando '+leermaximo)}else{$(total).append('. Mostrando '+longfeed)}var peticiones=Math.ceil(longfeed/postsxfeed);var ajax=[];for(i=0;i<peticiones;i++){if(peticiones===1){ajax.push(leerfeeds(i),'');ajax.push('')}else{ajax.push(leerfeeds(i))}}function leerfeeds(id){var startindex=(i*postsxfeed)+1;var maxresults=postsxfeed;if(i==(peticiones-1)){maxresults=leermaximo-(postsxfeed*i)}var url=feed+'?orderby=published&start-index='+startindex+'&max-results='+maxresults+'&alt=json&callback=?';return $.getJSON(url)}$.when.apply($,ajax).done(function(data){var obj=[];for(var i=0;i<arguments.length;i++){obj.push(arguments[i][0])}for(i=0;i<arguments.length;i++){contposts++;$.each(obj[i].feed.entry||[],function(i,e){var salida='<div class="itempost">';var url=(e.link||[]).pop().href;if(verimagen){var thumbnail;if(e.media$thumbnail){thumbnail=(e.media$thumbnail.url||'')}else{thumbnail=sinimagen}thumbnail=thumbnail.replace(reimg,'/s'+anchoimagen+'-c/');thumbnail=thumbnail.replace(reimg2,'=s'+anchoimagen);salida+='<a class="itemimagen" href="'+url+'"><img src="'+thumbnail+'"/></a>'}if(vercontador){salida+='<div class="itemcontador">'+((contposts*postsxfeed)+i+1)+'</div>'}if(verfecha){var fecha=new Date(e.published.$t||Date.now());fecha=(new Date(fecha)).toLocaleDateString('es-es',{month:'2-digit',day:'2-digit',year:'2-digit'});salida+='<div class="itemfecha">'+fecha+'</div>'}if(verautor){var autor=(e.author[0].name.$t||'');salida+='<div class="itemautor"><a href="'+e.author[0].uri.$t+'">'+autor+'</a><div class="itemautorimg"><a href="'+e.author[0].uri.$t+'"><img src="'+e.author[0].gd$image.src+'"/></a></div></div>'}if(vernumcom){var numcom=(e.thr$total.$t||'');salida+='<div class="itemnumcom"><a href="'+url+'#comments">'+numcom+' comentarios</a></div>'}if(veretiquetas){var etiquetas=[];if(e.category){for(var k=0;k<e.category.length;k++){etiquetas+='<a href="'+web+'/search/?q=label:'+e.category[k].term+'">'+e.category[k].term+'</a>';if(k<e.category.length-1){etiquetas+=separadoreti}}}else{etiquetas+='Sin etiquetas'}salida+='<div class="itemetiquetas">'+etiquetas+'</div>'}if(vertitulo){var titulo=(e.title.$t||'');salida+='<div class="itemtitulo"><a href="'+url+'">'+titulo+'</a></div>'}if(vertexto){var sumario;if('content'in e){sumario=e.content.$t;var reghtml=/<\S[^>]*>/g;sumario=sumario.replace(reghtml,'');if(sumario.length>maxcaracteres){sumario=sumario.substring(0,maxcaracteres)+'...'}}else if('summary'in e){sumario=e.summary.$t+'...'}salida+='<div class="itemsumario">'+sumario+'</div>'}salida+='</div>';$('.loading').remove();cajasalida.append(salida)})}})});//]]></script>


A continuación para que salgan las entradas leídas y ya en una entrada o en un gadget, lo que habrá que escribir será lo siguiente:

<div id="total"></div>
<div class="loading"></div>
<div id="feed"></div>
<script type='text/javascript'>//<![CDATA[
// Parámetros configurables
var web = 'http://www.oloblogger.com'; // Dirección del sitio. Evitar barra "/" al final
var vertotal = true; // Ver número total de entradas publicadas true/false
var total = $('#total'); // Nombre caja para total entradas publicadas
var cajasalida = $('#feed'); // Nombre caja para insertar posts
var postsxfeed = 150; // Como mucho será el tope de entradas que admite el feed
var leermaximo = 1; // Máximo de entradas que queremos leer/mostrar
var verimagen = true; // Imagen true/false
var anchoimagen = 100; // Ancho/alto de la miniatura
var sinimagen = 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgerbNvRWZUneYI3TxMRiuFkvftKZO_NNckQif1hiWwMRJNE-sMxfQORcgK7abf8Sq1y-dxJKTMrIX6bOgKYUTrIZrEP7bWYyRNhw_bZrp03ESoMt63AF-Dkjpd4hrLa1eJFbcwsjXAO6Hn/s400/cooltext90744301.jpg'; // Miniatura por defecto
var vercontador = true; // Ver Ordinal de los posts mostrados
var verfecha = true; // Ver fecha true/false
var veretiquetas = true; // Ver las etiquetas true/false
var separadoreti = '- '; // Símbolo de separación etiquetas
var verautor = true; // Ver autor de la entrada
var vernumcom = true // Ver número comentarios
var vertitulo = true; // Ver título entrada true/false
var vertexto = true; // Ver sumario true/false
var maxcaracteres = 200; // Número caracteres por sumario
//]]></script>

Si los parámetros originales no los vais a cambiar, podéis no repetirlos aquí. Bastará con que pongáis aquellos que cambien con respecto a los que incluí en el script que dije de insertar en plantilla.

Mención importante para la variable leermaximo, que es el tope de entradas que leeremos. Esto lo puse así porque si no necesitamos realmente leer todas las entradas publicadas, evitaremos demoras innecesarias. Las lecturas de feeds son lentas, así que sólo debemos pasar por el número de entradas que sea necesario, ni más, ni menos.

En la plantilla puse esa variable con el valor 1 y así no se ejecutará con otro mayor salvo cuando se le ordene directamente desde el gadget o entrada

El resultado sería este y en él podréis descubrir cómo de lenta puede ser la carga de unas 800 entradas (clic sobre el siguiente bloque para ejecutar o sobre este enlace para ver funcionando en Codepen). Desde allí podréis hacer pruebas para ver qué ocurre si cambiáis las distintas variables.

See the Pen Lector de feed completo. Blogger by Oloman (@oloman) on CodePen.



El estilo lo podéis cambiar fácilmente porque todos los elementos salen con su propia clase, pero para que tengáis una base sobre la que poder modificar, este es el que he usado en la demo. Al igual que antes, desde Codepen podéis hacer alterar fácilmente el CSS para ir viendo cómo podría quedar la cosa y adaptar la salida a vuestra propia estética.

#total{display:block;font-size:22px;line-height:24px;margin-bottom:10px;padding:10px;border:2px solid #000;box-sizing:border-box;text-align:center;color:#eee;background:#333}
.itempost{display:block;padding:10px;clear:both;box-sizing:border-box;overflow:hidden}
.itempost:nth-of-type(odd){background:#EFD689}
a.itemimagen{float:left;margin:0 20px 0 0}
.itemimagen img{border:1px solid #999;box-sizing:border-box}
.itemcontador{display:inline;margin:0 10px 0 0;font-size:80%}
.itemfecha{display:inline;margin:0 10px 0 0;font-size:80%}
.itemautor{position:relative;display:inline;margin:0 10px 0 0;font-size:80%}
.itemautorimg{display:none;position:absolute;top:14px;left:0}
.itemautorimg img{width:32px;height:32px}
.itemautor:hover .itemautorimg{display:block}
.itemnumcom{display:inline;margin:0 10px 0 0;font-size:80%}
.itemetiquetas{display:inline;font-size:80%}
.itemetiquetas a{display:inline-block;margin:0 5px 0 0;background:#eee;padding:0 5px;box-sizing:border-box}
.itemautor a,.itemnumcom a,.itemetiquetas a{color:#B38D1C;text-decoration:none}
.itemnumcom a:hover{text-decoration:underline}
.itemtitulo a{display:block;margin:10px 0;font-size:20px;color:#B38D1C;text-decoration:none}
.loading{display:block;width:80px;height:80px;margin:10px auto;border-width:30px;border-radius:50%;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;border-style:double;border-color:#666 transparent}
.loading:before{content:"CARGANDO";font-weight:700;line-height:80px;color:#900}
@-webkit-keyframes spin {100%{-webkit-transform:rotate(359deg)}}
@keyframes spin {100%{transform:rotate(359deg)}}


Y bien, con todo lo anterior ya podéis montar un índice integral que muestre todas las entradas publicadas en un blog Blogger. Si tenéis algún gadget que os funciona actualmente de manera deficiente por este tema, comentadlo e intentaré sacar algo de tiempo para reconstruirlo con esta utilidad. De momento ando ya trabajando con el "índice por etiquetas".

Seguramente, con el nuevo sitemap de serie podríamos hacer algo más básico para mostrar sólo título de cada entrada y su enlace, pero eso también será en otra ocasión.

Y por supuesto, si encontráis cualquier cosa que se pueda optimizar en el código, con gusto recogeré la sugerencia.

¿Vemos otro post al azar por si le encuentras utilidad o quizás prefieres ser más metódico y suscribirte a nuestras entradas por correo? También puedes imprimir este artículo y por supuesto compartirlo en redes sociales si fue de tu agrado.

Compartir
Copy URL

Y muchos más artículos interesantes si nos sigues en...

follow us in feedly

47 comentarios :

  1. Buenas Oloman. En mi blog "Curiosón" estoy llegando ya a las 2700 entradas, por lo que, lógicamente, tanta entrada te crea incertidumbre, pues no aparecen todos como bien señalas en esta entrada. Lo que te pregunto es si al añadir este scrip que presentas, es necesario modificar la sección del robot txt personalizado, o si aconsejas cambiarlo de 150 en 150 pues en mi caso lo tengo de 500 en 500. Trataré de adaptar este código que ahora muestras. Un saludo.

    ResponderEliminar
    Respuestas
    1. Hola. No tiene nada que ver el robot.txt con este asunto Froilán. Quizás te refieres al sitemap que posiblemente añadiste a Herramientas para Webmasters. Si es esto último, sí. Hay que cambiar los tramos de 500 por 150.

      Eliminar
  2. Al final lo he probado en esta dirección, pero no entiendo por qué no me sale el cuadro de texto. Estos temas me ocupan y me preocupan. Gracias por tu ayuda. http://origeness.blogspot.com.es/

    ResponderEliminar
  3. Perdona, que se me olvidaba. Qué código debo poner para que salgan todas, siempre que consiga situar el cuadro. Salud2

    ResponderEliminar
    Respuestas
    1. No sé a qué cuadro de texto te refieres ni dónde intentaste poner el índice. Vi una página con uno pero ese va clasificado por etiquetas. El que publiqué aquí no va clasificado por categorías y sólo muestra las entradas (todas) por orden cronológico según publicación.

      Eliminar
    2. Perdón. Acabo de verlo, pero es que lo has puesto en el lugar que menos podía imaginar tras lo que expliqué de la lentitud.

      En tu caso configuraste así:
      var postsxfeed = 30; // Como mucho será el tope de entradas que admite el feed
      var leermaximo = 30; // Máximo de entradas que queremos leer/mostrar

      En postsxfeed puedes escribir perfectamente 150 y así el feed se leerá de 150 en 150 que es lo máximo que permite Blogger actualmente. Y luego ya, si sólo quieres que se vean como máximo 30 entradas en tu blog, entonces ya en leermaximo es dónde indicarías esa cantidad, tal y como tienes ahora.

      Te decía que era el sitio más insospechado porque ya comenté que la carga es lenta. Sin embargo, si sólo vas a poner 30 entonces ya lo veo más razonable.

      Eliminar
  4. Oloman!
    Curiosidad del día: hay algún código que se pueda utilizar para hacer que un elemento HTML ubicado en la sidebar sólo sea visto por el administrador del blog?

    Saludos!

    ResponderEliminar
  5. Hola Oloman, creo que este post es lo que hace tiempo estaba buscando, pues resulta que varios de mis gadgets se han descontrolado todos desde que blogger cambio esto que tu mencionas, pues el que mas me afecta es que yo uso paginacion, y ahora no aparecen todas mis entradas, me explico, solamente aparecen 19 paginas, con 8 entradas por pagina, y las demas entradas no aparecen, por que sera? es por lo mismo que tu explicas en este post?? tiene solucion?? saludo!!
    te dejo mi link, y fijate en mi paginacion para que veas que no aparecen paginadas todas mis entradas, solo 150 de ellas!! :O saludos!!

    ResponderEliminar
    Respuestas
    1. Es exactamente por lo que explico, pero este código no te va a servir.
      Lo de la paginación está basado en el feed y por eso no te salen más de 150 aunque el script que tienes llame a 9999 entradas. Pero lamentablemente de momento sólo he logrado lo del índice.
      Estoy preparando otro índice por etiquetas, pero cada gadget lleva un código distinto y aunque la idea básica es la misma que la de esta entrada, cada cual necesita su propio desarrollo. Por otra parte, el de paginación creo que va a superar mis conocimientos.

      Eliminar
    2. Hola Oloblogger, gracias por tu respuesta, pues nos queda esperar a que blogger arregle ese problema!!.
      Un saludo!! :)

      Eliminar
    3. No es un problema a solucionar, sino un parámetro. Los feeds antes se cargaban de 500 en 500 y ese gadget de paginación tenía el mismo problema. Lo que ocurre es que si tenías menos de 500 no lo notabas y ahora con más de 150 ya es visible que no funcionaba bien.

      Eliminar
    4. Ah, ok, entendido, ahora entiendo. Gracias nuevamente por tomarte tu tiempo para responder.
      Por cierto, en mi sitio tengo un problema, tengo saltos de lineas automaticos que se colocan donde les da la gana y deja un espacio en blanco entre las tablas horrible, como puedo solucionar eso?? disculpa que te pregunte esto en un tema diferente pero en internet no he conseguido nada para solucionarlo. Te dejo el link para que eches un vistazo. Gracias y Saludos Oloman!!
      http://www.lamagiadeabba.com/p/abba.html

      Eliminar
    5. En primer lugar, intenta no usar tablas, pero si las usas en Blogger debes redactar todas sus etiquetas sin saltos de línea.

      En lugar de...
      <table>
      <tbody>
      <tr>
      etc.

      ...mejor:
      <table><tbody><tr>etc.

      Eliminar
    6. Ya lo intente eliminando los saltos de linea, y lo coloque como me indicas, pero nada, no puede solucionarlo.
      por cierto que otra alternativa me das para sustituir las tablas en blogger?? saludos y gracias por tu respuesta Oloman!! Saludos!!

      Eliminar
    7. La verdad es que yo no veo ese efecto "horrible" que comentas. Quizás si haces una captura, me marcas en ella lo que te parece que está mal y pones aquí el enlace a esa captura, entienda mejor el problema...

      Eliminar
    8. Hola Oloman, aca te dejo una caputara para poder explicarme mejor, espero puedas ayudarme!!
      saludos y gracias de antemano!! :D

      https://2.bp.blogspot.com/-JF5JJ8-YBY0/VvAR7xGVy5I/AAAAAAAAC6c/6EQtQBKmhaQADY-HPtpLSKqjRwosr-ynA/s1600/ejemplo.jpg

      Eliminar
    9. Yo no lo veo horrible, pero si quieres quitarlo, busca esto y cambia el 1.5em por un 0:
      table {
      max-width: 100%;
      width: 100%;
      margin: 1.5em auto; --> margin: 0 auto;
      }

      Si no encuentras eso en tu plantilla, entonces simplemente añade en la parte CSS:
      table {
      margin: 0 auto !important;
      }

      No obstante controla dónde cambias/añades eso por si lo tienes que volver a dejar como estaba, ya que no sé si puede afectar al aspecto de otras páginas

      Eliminar
    10. Gracias!! logre solucionarlo!! un millon de gracias!! era tal cual me dijiste!! :D

      Eliminar
  6. Hola de nuevo, Oloman...
    Ya estoy pasando todo el diseño al nuevo blog, pero como el índice no funcionaba y quería cambiarlo, me he decidido por este que me gusta bastante, pero he tenido un problema y lo he tenido que quitar (por ahora) te explico.
    Todo funciona de maravilla, pero estando en el índice, cuando le pincho para ir a la página principal, despues de cargarla se queda en blanco.
    El problema tiene que estar en el primer código (el que va delante de /head) puesto que quitando cosas poco a poco, no se solucionaba, hasta que he llegado a esta parte que he tenido que eliminar y es cuando se ha solucionado.
    ¿Podrías ayudarme?
    Gracias y saludos.

    ResponderEliminar
    Respuestas
    1. Hola. Para intentar averiguar qué pasa, necesitaría verlo en esa página que montaste para el índice y además, saber dónde está eso que pinchas "para ir a la página principal".

      Eliminar
  7. Oloman, buenos dias. Mi duda es poco relacionada con el post pero es la más cercana que encontré de las recientes. Lo que pasa es que compre un dominio para un blog y mi duda está en que si en Webmasters de Google debo tener los dos sitios (uno con dominio y uno blogspot) con sus respectivos sitemaps? O solo uno? En todo caso, cual? Espero tu respuesta. Saludos.

    ResponderEliminar
    Respuestas
    1. Hola Víctor Iván. Si hiciste bien la configuración del dominio personalizado, es suficiente con que subas el sitemap del dominio personalizado. No es necesario que pongas también el .blogspot.

      Con respecto a si el post es reciente o no, no te preocupes... los veo todos por antiguos que sean. Para este caso que preguntas tenía por ejemplo este post. Date una vuelta por él y encontrarás algo más de info al respecto. Un saludo.

      Eliminar
  8. Hola,

    No se si está relacionado espero que si porque estoy medio desesperado. Actualmente en mi sitio se muestran posts destacados con llamadas al feed con JSON. El tema es que cada vez mas seguido se me traba toda la pagina porque el feed tira un error 503.

    Si queres cargar el feed del sitio directamente no anda, el sitio anda perfecto. Tendra que ver esto? si le agrego al comando d ecada widget el "&max-results=10" alivianara el feed? o es otro problema, del tipo ancho de banda? Mil gracias!

    Codigo: src="/feeds/posts/default/-/Entretenimiento?orderby=published&start-index=4&max-results=10&alt=json-in-script&callback=labelthumbs"

    ResponderEliminar
    Respuestas
    1. Hola Mauricio
      A estas alturas ya no tendrás problemas casi seguro. Es que hubo un problema con los feeds de Blogger, cosa que oficialmente comunicaron y posteriormente dijeron que ya tenían solucionado.

      Eliminar
    2. Puede ser, ahora anda bien. Donde puedo seguir el estado de blogger? sabes?

      Eliminar
    3. Pues normalmente sólo publican cuando el servicio se interrumple, pero lo único que conozco es esto

      Eliminar
  9. Hola. Sigo tus publicaciones porque aportas artículos muy novedosos. Ahora deseo comentar un problema con las copias de seguridad en Blogger. Esta semana he notado que en los blogs que tienen miles de entradas el xml sale incompleto y contiene muchos espacios en blanco. Por ejemplo si antes el xml tenía 15 mb ahora sale con 8 o 10 mb. Por lo tanto contiene errores y no es confiable. Como eres colaborador en Blogger quizás puedas participar el problema, ó si sabes de alguna alternativa para hacer las copias de seguridad en blogger, te agradecereía. Gracias.

    ResponderEliminar
    Respuestas
    1. Hola Jacinto.
      Puede que sea un error puntual de cuando lo intentaste, porque hice una prueba y a mí me salió bien. No obstante, si te sigue ocurriendo repórtalo en el foro de ayuda. Yo ando liado pero seguro que alguien recoge tu mensaje y lo eleva al equipo de Blogger.

      Eliminar
  10. Hola, yo sigo teniendo problemas con la paginación de mi blog, solo me muestra las última 150 entras y sólo llega a 15 páginas, cuando tengo algo más de 300 artículos. Te agradecería si me pudieras ayudar, e intentando aplicar el primer código y cambia algo pero siguen si salir todas. Gracias

    ResponderEliminar
    Respuestas
    1. Hola. Unos comentarios atrás ya lo dije.
      Para que funcione bien la paginación habría que desarrollar un código específico para ello, que yo, hoy día, no sé hacer.

      Eliminar
    2. Gracias. De momento en las etiquetas me funciona bien y no me faltan artículos. Saludos

      Eliminar
  11. Buenos dias, muy buen trabajo. Yo intento que me muestre pero RSS de agencias de noticias como efe o de cualquier otro medio de prensa, no necesito que muestre tantas entradas, con las ultimas 50 me parece bien, pero no veo donde esta el error.

    ResponderEliminar
    Respuestas
    1. Hola Jose Antonio.
      Supongo que el problema está en que este código sólo sirve para los feeds que genera Blogger y sospecho que las agencias de noticias que intentas leer no están en esa plataforma.

      Eliminar
  12. Así mismo es, no son publicadas con blogger. No me habia dado cuenta de ese detalle. Muchas gracias.

    ResponderEliminar
  13. muy bueno me funciono a la perfeccion pero solo tengo una duda, hay alguna forma de orden las entradas alfabeticamente? porque esas creo que estan ordenadas por la fecha de publicacion

    Gracias

    ResponderEliminar
    Respuestas
    1. Se puede, pero me pareció de mayor interés hacerlo por fecha de publicación así que yo no lo tengo desarrollado.

      Para hacerlo como quieres habría que guardar en un "array" todos los resultados y luego reordenarlos dentro del array de una manera aleatoria. Luego para terminar habría que "imprimir" ese array.

      Eliminar
  14. Hola Oloman, jugando con el script me he rallado un montón, al principio no entendía porque si ponía tu url funcionaba y con la mía no, luego cambie el blog a visibilidad publica y funciona perfecto. Sabes si puedo hacer que funcione cuando es privado? (Si no conoces forma no pasa nada, lo pondré como publico en cuanto tenga la plantilla medio acabada).
    Ahora me toca jugar con el script y darle la funcionalidad que me interesa (para empezar un sistema de paginación).

    Saludos

    ResponderEliminar
    Respuestas
    1. Ya se como hacerlo manteniendo la privacidad del Blog.

      Eliminar
    2. No creo... No debería haber forma alguna de que un blog PRIVADO tenga un feed PÚBLICO y eso es lo que necesita este código para funcionar, un feed. Los feed casi por definición que tienen que ser públicos para que puedan realizar su función.

      Eliminar
    3. Hola de nuevo, como te comenté lo tengo como privado hasta que termine la plantilla y tenga un mínimo de contenido, a partir de entonces será público. Entonces, como lo único que me interesa ahora es que el feed se maquete bien y el sistema de paginación funcione correctamente, voy a cambiar temporalmente la url de los feed por el de un Blog amigo.

      Saludos

      Eliminar
    4. Jajaja... Claro, así sí. Usando otro público aunque no sea el tuyo desde luego. Gracias por la aclaración.

      Eliminar
  15. El codigo no muestra todas... En el ejemplo dice "Total entradas publicadas: 49089. Mostrando 500", osea que no las muestra todas, además seria bueno que se ordenaran por alfabeto ya que estos feeds generalmente se usan como indices... Gracias igual.

    ResponderEliminar
  16. Ahora mismo se ven 2000. Ese limitación es porque yo quise que sea así para que no tardara demasiado en cargar. Lo puedes controlar con la variable var leermaximo = 2000;

    Sobre lo del orden alfabético, aquí tienes otra variante en la que se ordenan por etiquetas y dentro de eso alfabéticamente, por lo que sería fácil quitar cosas para que sólo se ordenara alfabétiamente.

    Con este sistema puedes hacer lo que quieras.

    ResponderEliminar
  17. Gracias por tu dedicación para crear estos códigos. Por añadir algo: ¿cómo sería el código de la página para que sólo saliera el índice de una etiqueta concreta?

    ResponderEliminar