Advertisement
mspotilas

blogger posts in chronological order

Oct 13th, 2011
9,098
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!-- post reversal code by mspotilas 2011 -->
  2. <b:if cond='data:blog.pageType == &quot;index&quot;'>
  3. <script type='text/javascript'>
  4. //<![CDATA[
  5.  
  6. function getNextSibling(elm)
  7. {
  8.   if(!elm)
  9.     return;
  10.   elm = elm.nextSibling;
  11.   while(elm && elm.nodeType != 1)
  12.     elm = elm.nextSibling;
  13.   return elm;
  14. }
  15.  
  16. function getFirstChild(elm)
  17. {
  18.   if(!elm || !elm.childNodes.length)
  19.     return;
  20.   for(var i=0 ; i < elm.childNodes.length ; i++)
  21.     if(elm.childNodes[i].nodeType == 1)
  22.       return elm.childNodes[i];
  23.   return;
  24. }
  25.  
  26. if(window.location.href.indexOf('order=ASC') > -1) {
  27.   var Blog1 = document.getElementById('Blog1');
  28.   var cont = getFirstChild(Blog1);
  29.   while(cont && cont.className.indexOf("blog-posts") == -1)
  30.     cont = getNextSibling(cont);
  31.   if(!cont) {
  32. //  alert("warn: fallback");
  33.     cont = getFirstChild(Blog1); // fallback
  34.   }
  35.   var first = getFirstChild(cont);
  36.  
  37.   var child = first; // was var child = getNextSibling(first);
  38.   var childNext = null;
  39.   var clsStartPost = "date-outer";
  40.   while(child) {
  41.     if (child.className == 'date-outer' || child.className == 'date-header') {
  42.       clsStartPost = child.className;
  43.       first = child;
  44.       break;
  45.     }
  46.     child = getNextSibling(child);
  47.   }
  48.   if(!child) alert("warn: no posts found?");
  49.   child = getNextSibling(first);
  50.   while (child != null) {
  51.     if(child.className && child.className == clsStartPost) {
  52.       childNext = getNextSibling(child);
  53.       cont.insertBefore(child, first);
  54.       first = child;        // now new first post
  55.       child = childNext;
  56.     } else if(child.className == "post hentry") { // post cont'd
  57.       childNext = getNextSibling(child);
  58.       if(child != getNextSibling(first))
  59.         cont.insertBefore(child, getNextSibling(first));
  60.       child = childNext;
  61.     }
  62.     else
  63.       child = getNextSibling(child);
  64.   }
  65.   // posts reordered, add order=ASC to the links:
  66.   var lnk = document.getElementById('blog-pager-older-link');
  67.   lnk = getFirstChild(lnk);
  68.   if(lnk) {
  69.     var old = lnk.href;
  70.     lnk.onclick = lnk.href = old+"#order=ASC";
  71.   }
  72.  
  73.   lnk = document.getElementById('blog-pager-newer-link');
  74.   lnk = getFirstChild(lnk);
  75.   if(lnk) {
  76.     var old = String(lnk.href);
  77.     lnk.onclick = lnk.href = old+"#order=ASC";
  78.   }
  79. }
  80.  
  81. //]]>
  82. </script>
  83. </b:if>
  84. <!-- end post reversal code -->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement