Como he estado aburrido este día, continué agregando cosas interesantes a mi blog, y no se me ocurrió nada mas choro que poder continuar los post después de un salto

La primera implementación la encontré en otro blog, la verdad solo es una modificación del layout con CSS, esto permite ocultar el post, pero al solo estar oculto a la vista, el post igual es cargado, lo que implica que si hay imágenes pesadas, estas son agregadas a la carga de la pagina principal... además, otra cosa que me molesta es que los links queden en todos los posts a pesar de que no tengan continuación, pero si aplicamos Javascript (como se hizo en este otro blog) se pueden evitar algunos de estos problemas.

Además con algunas modificaciones que hice se pueden realizar múltiples saltos en el mismo post.

Modificaciones en el Layout:

Primero hay que editar el layout de la pagina, si haces esto a travez de "Edit HTML" en Blogger, no hay que olvidar dejar chequeada la opción "Expand Widget Templates".

Luego dentro del código hay que buscar el tag

</head>

y justo antes de este agregar el siguiente codigo

<script type="text/javascript">
  var memory = 0;
</script>


Esto declara una variable global en javascript que sera utilizada mas adelante.

Luego para insertar el link de "Continuar leyendo..." hay que buscar el siguiente código en nuestro layout (recuerda tener activada la opción "Expand Widget Templates")

<data:post.body/>

esta corta linea de script representa lo que va escrito en nuestros posts, así que si queremos agregar un link para continuar leyendo el post, esto se debe hacer en la linea debajo de esto, y con un poco de ayuda de la magia de Javascript, podemos lograr que esto suceda solo en los posts que necesitan ser continuados, usando el script que se muestra a continuación:


<b:if cond='data:blog.pageType != "item"'>
  <script type='text/javascript'>
    var spans = document.getElementsByTagName('div');
    var number = 0;
    var j =new Array();
    for(i=0; spans.length > i ; i++)
    {
      var c = " " + spans[i].className + " ";
      if (c.indexOf("fullpost") != -1)
      {
        number++;
        if(number>memory)
        {
          j.push(i);
        }
      }
    }
    if(number>memory)
    {
      for(i=0; j.length > i; i++)
      {
        spans[j[i]].innerHTML = "<a expr:href='data:post.url'>[...]</a><br/>";
      }
      document.write("<a expr:href='data:post.url'>Expandir Post</a>");
    }
    memory = number;
  </script>
</b:if>


Este script cada vez que se crea un post en la pagina principal del blog (o mas específicamente, en una pagina que no sea el post mismo), revisa si se agrego un tag de tipo div con clase tipo "fullpost", si es así, todo lo que esta dentro de cada uno de esos tags es remplazado por el texto "[...]" que contiene un link al post y además un link explicito al final que dice "Expandir Post"

para poder editar que dice en el salto, solo tienen que modificar la linea

document.write("<a href='data:post.url'> Expandir Post</a>");


Modificaciones dentro del Post

Para dejar un espacio oculto dentro del post, solo basta con agregar el tag

esta parte no va oculta
<div class="fullpost">
aqui va la parte oculta
</div>
esta parte tampoco va oculta
<div class="fullpost">
esta parte se vuelve a ocultar
</div>
y esta no... se puede seguir así hasta que te aburras


La verdad no he probado que pasara si anidas 2 de estos tags, pero recomiendo que no lo hagas porque puede tirar errores en Javascript =P.

Por desgracia, a pesar de las modificaciones, igual si uno tiene imágenes pesadas en el post, estas son descargadas por el explorador (Comprobado usando Firebug en Firefox, y no creo que sea distinto en otros exploradores...), pero al menos estas no son rendereadas en el sitio...

Espero que esto le halla servido a alguien :)


3 comentarios:

  1. Yay...al fin pudiste arreglar eso... me carga eso de Blogger, que no podias cortar los post y uno tenia que avanzar caleta para llegar al siguiente post.

    ^^ Me alegra ver que tu tiempo libre rinde fruto.

    ResponderEliminar
  2. Pues esta chido el truquillo, gracias

    ResponderEliminar
  3. me aparecen los (...) y al final el mensaje de expandir post, pero no me oculta lo que quiero ocultar, porfavor responderme a jack25@gmail.com



    P.D. lo mismo me paso con el otro codigo en el que salia leer mas para todos los posts

    ResponderEliminar