Blogger Sitemap JavaScript











up vote
1
down vote

favorite












I'm using a javascript that generates a sitemap page with all posts sorted alphabetically and by label.
It extracts the info from this link



https://blogname.blogspot.com/feeds/posts/default?max-results=9999


But a while back blogger introduced pagination to those links and they only display 150 posts now, so the sitemap shows only the last 150 post titles.



Now i have to use multiple links to get all my posts, links like this:



https://blogname.blogspot.com/feeds/posts/default?start-index=1&max-results=150
https://blogname.blogspot.com/feeds/posts/default?start-index=151&max-results=150
https://blogname.blogspot.com/feeds/posts/default?start-index=301&max-results=150
https://blogname.blogspot.com/feeds/posts/default?start-index=451&max-results=150
https://blogname.blogspot.com/feeds/posts/default?start-index=601&max-results=150


The problem is I don't know if it's possible to use multiple links with this javascript, or how to modify it to use more than 1 link for extracting the info.



My javascript knowledge is poor, i tried some noobish modifications but wasn't even close to succeed with any of them.
I also tried manually getting all info from a few links and merging them into a .txt files, than uploaded it on dropbox and pastebin, but the script didn't worked with any other links that are not from my blog, not sure why.



Here's the script i'm talking about:






<script>
//<![CDATA[
var postTitle = new Array();
var postUrl = new Array();
var postPublished = new Array();
var postDate = new Array();
var postLabels = new Array();
var postRecent = new Array();
var sortBy = "titleasc";
var tocLoaded = false;
var numChars = 250;
var postFilter = "";
var numberfeed = 0;

function bloggersitemap(a) {
function b() {
if ("entry" in a.feed) {
var d = a.feed.entry.length;
numberfeed = d;
ii = 0;
for (var h = 0; h < d; h++) {
var n = a.feed.entry[h];
var e = n.title.$t;
var m = n.published.$t.substring(0, 10);
var j;
for (var g = 0; g < n.link.length; g++) {
if (n.link[g].rel == "alternate") {
j = n.link[g].href;
break
}
}
var o = "";
for (var g = 0; g < n.link.length; g++) {
if (n.link[g].rel == "enclosure") {
o = n.link[g].href;
break
}
}
var c = "";
if ("category" in n) {
for (var g = 0; g < n.category.length; g++) {
c = n.category[g].term;
var f = c.lastIndexOf(";");
if (f != -1) {
c = c.substring(0, f)
}
postLabels[ii] = c;
postTitle[ii] = e;
postDate[ii] = m;
postUrl[ii] = j;
postPublished[ii] = o;
if (h < 10) {
postRecent[ii] = true
} else {
postRecent[ii] = false
}
ii = ii + 1
}
}
}
}
}
b();
sortBy = "titleasc";
sortPosts(sortBy);
sortlabel();
tocLoaded = true;
displayToc2();
}

function filterPosts(a) {
scroll(0, 0);
postFilter = a;
displayToc(postFilter)
}

function allPosts() {
sortlabel();
postFilter = "";
displayToc(postFilter)
}

function sortPosts(d) {
function c(e, g) {
var f = postTitle[e];
postTitle[e] = postTitle[g];
postTitle[g] = f;
var f = postDate[e];
postDate[e] = postDate[g];
postDate[g] = f;
var f = postUrl[e];
postUrl[e] = postUrl[g];
postUrl[g] = f;
var f = postLabels[e];
postLabels[e] = postLabels[g];
postLabels[g] = f;
var f = postPublished[e];
postPublished[e] = postPublished[g];
postPublished[g] = f;
var f = postRecent[e];
postRecent[e] = postRecent[g];
postRecent[g] = f
}
for (var b = 0; b < postTitle.length - 1; b++) {
for (var a = b + 1; a < postTitle.length; a++) {
if (d == "titleasc") {
if (postTitle[b] > postTitle[a]) {
c(b, a)
}
}
if (d == "titledesc") {
if (postTitle[b] < postTitle[a]) {
c(b, a)
}
}
if (d == "dateoldest") {
if (postDate[b] > postDate[a]) {
c(b, a)
}
}
if (d == "datenewest") {
if (postDate[b] < postDate[a]) {
c(b, a)
}
}
if (d == "orderlabel") {
if (postLabels[b] > postLabels[a]) {
c(b, a)
}
}
}
}
}

function sortlabel() {
sortBy = "orderlabel";
sortPosts(sortBy);
var a = 0;
var b = 0;
while (b < postTitle.length) {
temp1 = postLabels[b];
firsti = a;
do {
a = a + 1
} while (postLabels[a] == temp1);
b = a;
sortPosts2(firsti, a);
if (b > postTitle.length) {
break
}
}
}

function sortPosts2(d, c) {
function e(f, h) {
var g = postTitle[f];
postTitle[f] = postTitle[h];
postTitle[h] = g;
var g = postDate[f];
postDate[f] = postDate[h];
postDate[h] = g;
var g = postUrl[f];
postUrl[f] = postUrl[h];
postUrl[h] = g;
var g = postLabels[f];
postLabels[f] = postLabels[h];
postLabels[h] = g;
var g = postPublished[f];
postPublished[f] = postPublished[h];
postPublished[h] = g;
var g = postRecent[f];
postRecent[f] = postRecent[h];
postRecent[h] = g
}
for (var b = d; b < c - 1; b++) {
for (var a = b + 1; a < c; a++) {
if (postTitle[b] > postTitle[a]) {
e(b, a)
}
}
}
}

function displayToc(a) {
var l = 0;
var h = "";
var e = "Post Title";
var m = "Click to sort by title";
var d = "Date";
var k = "Click to sort by date";
var c = "Category";
var j = "";
if (sortBy == "titleasc") {
m += " (descending)";
k += " (newest first)"
}
if (sortBy == "titledesc") {
m += " (ascending)";
k += " (newest first)"
}
if (sortBy == "dateoldest") {
m += " (ascending)";
k += " (newest first)"
}
if (sortBy == "datenewest") {
m += " (ascending)";
k += " (oldest first)"
}
if (postFilter != "") {
j = "Click to view all"
}
h += "<table>";
h += "<tr>";
h += '<td class="header1">';
h += '<a href="javascript:toggleTitleSort();" title="' + m + '">' + e + "</a>";
h += "</td>";
h += '<td class="header2">';
h += '<a href="javascript:toggleDateSort();" title="' + k + '">' + d + "</a>";
h += "</td>";
h += '<td class="header3">';
h += '<a href="javascript:allPosts();" title="' + j + '">' + c + "</a>";
h += "</td>";
h += '<td class="header4">';
h += "Read all";
h += "</td>";
h += "</tr>";
for (var g = 0; g < postTitle.length; g++) {
if (a == "") {
h += '<tr><td class="entry1"><a href="' + postUrl[g] + '">' + postTitle[g] + '</a></td><td class="entry2">' + postDate[g] + '</td><td class="entry3">' + postLabels[g] + '</td><td class="entry4"><a href="' + postPublished[g] + '">Read</a></td></tr>';
l++
} else {
z = postLabels[g].lastIndexOf(a);
if (z != -1) {
h += '<tr><td class="entry1"><a href="' + postUrl[g] + '">' + postTitle[g] + '</a></td><td class="entry2">' + postDate[g] + '</td><td class="entry3">' + postLabels[g] + '</td><td class="entry4"><a href="' + postPublished[g] + '">Read</a></td></tr>';
l++
}
}
}
h += "</table>";
if (l == postTitle.length) {
var f = '<span class="toc-note">Show All ' + postTitle.length + " Posts<br/></span>"
} else {
var f = '<span class="toc-note">Show ' + l + " posts by category '";
f += postFilter + "' the " + postTitle.length + " Total Posts<br/></span>"
}
var b = document.getElementById("toc");
b.innerHTML = f + h
}

function displayToc2() {
var a = 0;
var b = 0;
while (b < postTitle.length) {
temp1 = postLabels[b];
document.write("<p/>");
document.write('<p class="labels"><a href="/search/label/' + temp1 + '">' + temp1 + "</a></p><ol>");
firsti = a;
do {
document.write("<li>");
document.write('<a class="post-titles" href="' + postUrl[a] + '">' + postTitle[a] + "</a>");
if (postRecent[a] == true) {
document.write(' - <strong><span style="color: rgb(255, 0, 0);">New!</span></strong>')
}
document.write("</li>");
a = a + 1
} while (postLabels[a] == temp1);
b = a;
document.write("</ol>");
sortPosts2(firsti, a);
if (b > postTitle.length) {
break
}
}
}

function toggleTitleSort() {
if (sortBy == "titleasc") {
sortBy = "titledesc"
} else {
sortBy = "titleasc"
}
sortPosts(sortBy);
displayToc(postFilter)
}

function toggleDateSort() {
if (sortBy == "datenewest") {
sortBy = "dateoldest"
} else {
sortBy = "datenewest"
}
sortPosts(sortBy);
displayToc(postFilter)
}

function showToc() {
if (tocLoaded) {
displayToc(postFilter);
var a = document.getElementById("toclink")
} else {
alert("Just wait... TOC is loading")
}
}

function hideToc() {
var a = document.getElementById("toc");
a.innerHTML = "";
var b = document.getElementById("toclink");
b.innerHTML = '<a href="#" onclick="scroll(0,0); showToc(); Effect.toggle('toc-result','blind');">?? Display Table of Contents</a> <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ROxknL_N7nysfD5wz5mRYqcIbUlTFPHZEf8__D2vwG-YnGB9pJ6PJmvsMFEaw6pn03cbSUANtt2pIm9AyR0L9yyPDN00U8wmqmnj9nT5Wk5TuefnXXSeU4il6gVJMj-M-dzLXtSzrXnR/s1600/new_icon.gif"/>'
}

function looptemp2() {
for (var a = 0; a < numberfeed; a++) {
document.write("<br>");
document.write('Post Link : <a href="' + postUrl[a] + '">' + postTitle[a] + "</a><br>");
document.write('Read all : <a href="' + postPublished[a] + '">' + postTitle[a] + "</a><br>");
document.write("<br>")
}
};
//]]>
</script>
<script src="https://blogname.blogspot.com/feeds/posts/default?max-results=9999&amp;alt=json-in-script&amp;callback=bloggersitemap"></script>












share|improve this question


























    up vote
    1
    down vote

    favorite












    I'm using a javascript that generates a sitemap page with all posts sorted alphabetically and by label.
    It extracts the info from this link



    https://blogname.blogspot.com/feeds/posts/default?max-results=9999


    But a while back blogger introduced pagination to those links and they only display 150 posts now, so the sitemap shows only the last 150 post titles.



    Now i have to use multiple links to get all my posts, links like this:



    https://blogname.blogspot.com/feeds/posts/default?start-index=1&max-results=150
    https://blogname.blogspot.com/feeds/posts/default?start-index=151&max-results=150
    https://blogname.blogspot.com/feeds/posts/default?start-index=301&max-results=150
    https://blogname.blogspot.com/feeds/posts/default?start-index=451&max-results=150
    https://blogname.blogspot.com/feeds/posts/default?start-index=601&max-results=150


    The problem is I don't know if it's possible to use multiple links with this javascript, or how to modify it to use more than 1 link for extracting the info.



    My javascript knowledge is poor, i tried some noobish modifications but wasn't even close to succeed with any of them.
    I also tried manually getting all info from a few links and merging them into a .txt files, than uploaded it on dropbox and pastebin, but the script didn't worked with any other links that are not from my blog, not sure why.



    Here's the script i'm talking about:






    <script>
    //<![CDATA[
    var postTitle = new Array();
    var postUrl = new Array();
    var postPublished = new Array();
    var postDate = new Array();
    var postLabels = new Array();
    var postRecent = new Array();
    var sortBy = "titleasc";
    var tocLoaded = false;
    var numChars = 250;
    var postFilter = "";
    var numberfeed = 0;

    function bloggersitemap(a) {
    function b() {
    if ("entry" in a.feed) {
    var d = a.feed.entry.length;
    numberfeed = d;
    ii = 0;
    for (var h = 0; h < d; h++) {
    var n = a.feed.entry[h];
    var e = n.title.$t;
    var m = n.published.$t.substring(0, 10);
    var j;
    for (var g = 0; g < n.link.length; g++) {
    if (n.link[g].rel == "alternate") {
    j = n.link[g].href;
    break
    }
    }
    var o = "";
    for (var g = 0; g < n.link.length; g++) {
    if (n.link[g].rel == "enclosure") {
    o = n.link[g].href;
    break
    }
    }
    var c = "";
    if ("category" in n) {
    for (var g = 0; g < n.category.length; g++) {
    c = n.category[g].term;
    var f = c.lastIndexOf(";");
    if (f != -1) {
    c = c.substring(0, f)
    }
    postLabels[ii] = c;
    postTitle[ii] = e;
    postDate[ii] = m;
    postUrl[ii] = j;
    postPublished[ii] = o;
    if (h < 10) {
    postRecent[ii] = true
    } else {
    postRecent[ii] = false
    }
    ii = ii + 1
    }
    }
    }
    }
    }
    b();
    sortBy = "titleasc";
    sortPosts(sortBy);
    sortlabel();
    tocLoaded = true;
    displayToc2();
    }

    function filterPosts(a) {
    scroll(0, 0);
    postFilter = a;
    displayToc(postFilter)
    }

    function allPosts() {
    sortlabel();
    postFilter = "";
    displayToc(postFilter)
    }

    function sortPosts(d) {
    function c(e, g) {
    var f = postTitle[e];
    postTitle[e] = postTitle[g];
    postTitle[g] = f;
    var f = postDate[e];
    postDate[e] = postDate[g];
    postDate[g] = f;
    var f = postUrl[e];
    postUrl[e] = postUrl[g];
    postUrl[g] = f;
    var f = postLabels[e];
    postLabels[e] = postLabels[g];
    postLabels[g] = f;
    var f = postPublished[e];
    postPublished[e] = postPublished[g];
    postPublished[g] = f;
    var f = postRecent[e];
    postRecent[e] = postRecent[g];
    postRecent[g] = f
    }
    for (var b = 0; b < postTitle.length - 1; b++) {
    for (var a = b + 1; a < postTitle.length; a++) {
    if (d == "titleasc") {
    if (postTitle[b] > postTitle[a]) {
    c(b, a)
    }
    }
    if (d == "titledesc") {
    if (postTitle[b] < postTitle[a]) {
    c(b, a)
    }
    }
    if (d == "dateoldest") {
    if (postDate[b] > postDate[a]) {
    c(b, a)
    }
    }
    if (d == "datenewest") {
    if (postDate[b] < postDate[a]) {
    c(b, a)
    }
    }
    if (d == "orderlabel") {
    if (postLabels[b] > postLabels[a]) {
    c(b, a)
    }
    }
    }
    }
    }

    function sortlabel() {
    sortBy = "orderlabel";
    sortPosts(sortBy);
    var a = 0;
    var b = 0;
    while (b < postTitle.length) {
    temp1 = postLabels[b];
    firsti = a;
    do {
    a = a + 1
    } while (postLabels[a] == temp1);
    b = a;
    sortPosts2(firsti, a);
    if (b > postTitle.length) {
    break
    }
    }
    }

    function sortPosts2(d, c) {
    function e(f, h) {
    var g = postTitle[f];
    postTitle[f] = postTitle[h];
    postTitle[h] = g;
    var g = postDate[f];
    postDate[f] = postDate[h];
    postDate[h] = g;
    var g = postUrl[f];
    postUrl[f] = postUrl[h];
    postUrl[h] = g;
    var g = postLabels[f];
    postLabels[f] = postLabels[h];
    postLabels[h] = g;
    var g = postPublished[f];
    postPublished[f] = postPublished[h];
    postPublished[h] = g;
    var g = postRecent[f];
    postRecent[f] = postRecent[h];
    postRecent[h] = g
    }
    for (var b = d; b < c - 1; b++) {
    for (var a = b + 1; a < c; a++) {
    if (postTitle[b] > postTitle[a]) {
    e(b, a)
    }
    }
    }
    }

    function displayToc(a) {
    var l = 0;
    var h = "";
    var e = "Post Title";
    var m = "Click to sort by title";
    var d = "Date";
    var k = "Click to sort by date";
    var c = "Category";
    var j = "";
    if (sortBy == "titleasc") {
    m += " (descending)";
    k += " (newest first)"
    }
    if (sortBy == "titledesc") {
    m += " (ascending)";
    k += " (newest first)"
    }
    if (sortBy == "dateoldest") {
    m += " (ascending)";
    k += " (newest first)"
    }
    if (sortBy == "datenewest") {
    m += " (ascending)";
    k += " (oldest first)"
    }
    if (postFilter != "") {
    j = "Click to view all"
    }
    h += "<table>";
    h += "<tr>";
    h += '<td class="header1">';
    h += '<a href="javascript:toggleTitleSort();" title="' + m + '">' + e + "</a>";
    h += "</td>";
    h += '<td class="header2">';
    h += '<a href="javascript:toggleDateSort();" title="' + k + '">' + d + "</a>";
    h += "</td>";
    h += '<td class="header3">';
    h += '<a href="javascript:allPosts();" title="' + j + '">' + c + "</a>";
    h += "</td>";
    h += '<td class="header4">';
    h += "Read all";
    h += "</td>";
    h += "</tr>";
    for (var g = 0; g < postTitle.length; g++) {
    if (a == "") {
    h += '<tr><td class="entry1"><a href="' + postUrl[g] + '">' + postTitle[g] + '</a></td><td class="entry2">' + postDate[g] + '</td><td class="entry3">' + postLabels[g] + '</td><td class="entry4"><a href="' + postPublished[g] + '">Read</a></td></tr>';
    l++
    } else {
    z = postLabels[g].lastIndexOf(a);
    if (z != -1) {
    h += '<tr><td class="entry1"><a href="' + postUrl[g] + '">' + postTitle[g] + '</a></td><td class="entry2">' + postDate[g] + '</td><td class="entry3">' + postLabels[g] + '</td><td class="entry4"><a href="' + postPublished[g] + '">Read</a></td></tr>';
    l++
    }
    }
    }
    h += "</table>";
    if (l == postTitle.length) {
    var f = '<span class="toc-note">Show All ' + postTitle.length + " Posts<br/></span>"
    } else {
    var f = '<span class="toc-note">Show ' + l + " posts by category '";
    f += postFilter + "' the " + postTitle.length + " Total Posts<br/></span>"
    }
    var b = document.getElementById("toc");
    b.innerHTML = f + h
    }

    function displayToc2() {
    var a = 0;
    var b = 0;
    while (b < postTitle.length) {
    temp1 = postLabels[b];
    document.write("<p/>");
    document.write('<p class="labels"><a href="/search/label/' + temp1 + '">' + temp1 + "</a></p><ol>");
    firsti = a;
    do {
    document.write("<li>");
    document.write('<a class="post-titles" href="' + postUrl[a] + '">' + postTitle[a] + "</a>");
    if (postRecent[a] == true) {
    document.write(' - <strong><span style="color: rgb(255, 0, 0);">New!</span></strong>')
    }
    document.write("</li>");
    a = a + 1
    } while (postLabels[a] == temp1);
    b = a;
    document.write("</ol>");
    sortPosts2(firsti, a);
    if (b > postTitle.length) {
    break
    }
    }
    }

    function toggleTitleSort() {
    if (sortBy == "titleasc") {
    sortBy = "titledesc"
    } else {
    sortBy = "titleasc"
    }
    sortPosts(sortBy);
    displayToc(postFilter)
    }

    function toggleDateSort() {
    if (sortBy == "datenewest") {
    sortBy = "dateoldest"
    } else {
    sortBy = "datenewest"
    }
    sortPosts(sortBy);
    displayToc(postFilter)
    }

    function showToc() {
    if (tocLoaded) {
    displayToc(postFilter);
    var a = document.getElementById("toclink")
    } else {
    alert("Just wait... TOC is loading")
    }
    }

    function hideToc() {
    var a = document.getElementById("toc");
    a.innerHTML = "";
    var b = document.getElementById("toclink");
    b.innerHTML = '<a href="#" onclick="scroll(0,0); showToc(); Effect.toggle('toc-result','blind');">?? Display Table of Contents</a> <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ROxknL_N7nysfD5wz5mRYqcIbUlTFPHZEf8__D2vwG-YnGB9pJ6PJmvsMFEaw6pn03cbSUANtt2pIm9AyR0L9yyPDN00U8wmqmnj9nT5Wk5TuefnXXSeU4il6gVJMj-M-dzLXtSzrXnR/s1600/new_icon.gif"/>'
    }

    function looptemp2() {
    for (var a = 0; a < numberfeed; a++) {
    document.write("<br>");
    document.write('Post Link : <a href="' + postUrl[a] + '">' + postTitle[a] + "</a><br>");
    document.write('Read all : <a href="' + postPublished[a] + '">' + postTitle[a] + "</a><br>");
    document.write("<br>")
    }
    };
    //]]>
    </script>
    <script src="https://blogname.blogspot.com/feeds/posts/default?max-results=9999&amp;alt=json-in-script&amp;callback=bloggersitemap"></script>












    share|improve this question
























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      I'm using a javascript that generates a sitemap page with all posts sorted alphabetically and by label.
      It extracts the info from this link



      https://blogname.blogspot.com/feeds/posts/default?max-results=9999


      But a while back blogger introduced pagination to those links and they only display 150 posts now, so the sitemap shows only the last 150 post titles.



      Now i have to use multiple links to get all my posts, links like this:



      https://blogname.blogspot.com/feeds/posts/default?start-index=1&max-results=150
      https://blogname.blogspot.com/feeds/posts/default?start-index=151&max-results=150
      https://blogname.blogspot.com/feeds/posts/default?start-index=301&max-results=150
      https://blogname.blogspot.com/feeds/posts/default?start-index=451&max-results=150
      https://blogname.blogspot.com/feeds/posts/default?start-index=601&max-results=150


      The problem is I don't know if it's possible to use multiple links with this javascript, or how to modify it to use more than 1 link for extracting the info.



      My javascript knowledge is poor, i tried some noobish modifications but wasn't even close to succeed with any of them.
      I also tried manually getting all info from a few links and merging them into a .txt files, than uploaded it on dropbox and pastebin, but the script didn't worked with any other links that are not from my blog, not sure why.



      Here's the script i'm talking about:






      <script>
      //<![CDATA[
      var postTitle = new Array();
      var postUrl = new Array();
      var postPublished = new Array();
      var postDate = new Array();
      var postLabels = new Array();
      var postRecent = new Array();
      var sortBy = "titleasc";
      var tocLoaded = false;
      var numChars = 250;
      var postFilter = "";
      var numberfeed = 0;

      function bloggersitemap(a) {
      function b() {
      if ("entry" in a.feed) {
      var d = a.feed.entry.length;
      numberfeed = d;
      ii = 0;
      for (var h = 0; h < d; h++) {
      var n = a.feed.entry[h];
      var e = n.title.$t;
      var m = n.published.$t.substring(0, 10);
      var j;
      for (var g = 0; g < n.link.length; g++) {
      if (n.link[g].rel == "alternate") {
      j = n.link[g].href;
      break
      }
      }
      var o = "";
      for (var g = 0; g < n.link.length; g++) {
      if (n.link[g].rel == "enclosure") {
      o = n.link[g].href;
      break
      }
      }
      var c = "";
      if ("category" in n) {
      for (var g = 0; g < n.category.length; g++) {
      c = n.category[g].term;
      var f = c.lastIndexOf(";");
      if (f != -1) {
      c = c.substring(0, f)
      }
      postLabels[ii] = c;
      postTitle[ii] = e;
      postDate[ii] = m;
      postUrl[ii] = j;
      postPublished[ii] = o;
      if (h < 10) {
      postRecent[ii] = true
      } else {
      postRecent[ii] = false
      }
      ii = ii + 1
      }
      }
      }
      }
      }
      b();
      sortBy = "titleasc";
      sortPosts(sortBy);
      sortlabel();
      tocLoaded = true;
      displayToc2();
      }

      function filterPosts(a) {
      scroll(0, 0);
      postFilter = a;
      displayToc(postFilter)
      }

      function allPosts() {
      sortlabel();
      postFilter = "";
      displayToc(postFilter)
      }

      function sortPosts(d) {
      function c(e, g) {
      var f = postTitle[e];
      postTitle[e] = postTitle[g];
      postTitle[g] = f;
      var f = postDate[e];
      postDate[e] = postDate[g];
      postDate[g] = f;
      var f = postUrl[e];
      postUrl[e] = postUrl[g];
      postUrl[g] = f;
      var f = postLabels[e];
      postLabels[e] = postLabels[g];
      postLabels[g] = f;
      var f = postPublished[e];
      postPublished[e] = postPublished[g];
      postPublished[g] = f;
      var f = postRecent[e];
      postRecent[e] = postRecent[g];
      postRecent[g] = f
      }
      for (var b = 0; b < postTitle.length - 1; b++) {
      for (var a = b + 1; a < postTitle.length; a++) {
      if (d == "titleasc") {
      if (postTitle[b] > postTitle[a]) {
      c(b, a)
      }
      }
      if (d == "titledesc") {
      if (postTitle[b] < postTitle[a]) {
      c(b, a)
      }
      }
      if (d == "dateoldest") {
      if (postDate[b] > postDate[a]) {
      c(b, a)
      }
      }
      if (d == "datenewest") {
      if (postDate[b] < postDate[a]) {
      c(b, a)
      }
      }
      if (d == "orderlabel") {
      if (postLabels[b] > postLabels[a]) {
      c(b, a)
      }
      }
      }
      }
      }

      function sortlabel() {
      sortBy = "orderlabel";
      sortPosts(sortBy);
      var a = 0;
      var b = 0;
      while (b < postTitle.length) {
      temp1 = postLabels[b];
      firsti = a;
      do {
      a = a + 1
      } while (postLabels[a] == temp1);
      b = a;
      sortPosts2(firsti, a);
      if (b > postTitle.length) {
      break
      }
      }
      }

      function sortPosts2(d, c) {
      function e(f, h) {
      var g = postTitle[f];
      postTitle[f] = postTitle[h];
      postTitle[h] = g;
      var g = postDate[f];
      postDate[f] = postDate[h];
      postDate[h] = g;
      var g = postUrl[f];
      postUrl[f] = postUrl[h];
      postUrl[h] = g;
      var g = postLabels[f];
      postLabels[f] = postLabels[h];
      postLabels[h] = g;
      var g = postPublished[f];
      postPublished[f] = postPublished[h];
      postPublished[h] = g;
      var g = postRecent[f];
      postRecent[f] = postRecent[h];
      postRecent[h] = g
      }
      for (var b = d; b < c - 1; b++) {
      for (var a = b + 1; a < c; a++) {
      if (postTitle[b] > postTitle[a]) {
      e(b, a)
      }
      }
      }
      }

      function displayToc(a) {
      var l = 0;
      var h = "";
      var e = "Post Title";
      var m = "Click to sort by title";
      var d = "Date";
      var k = "Click to sort by date";
      var c = "Category";
      var j = "";
      if (sortBy == "titleasc") {
      m += " (descending)";
      k += " (newest first)"
      }
      if (sortBy == "titledesc") {
      m += " (ascending)";
      k += " (newest first)"
      }
      if (sortBy == "dateoldest") {
      m += " (ascending)";
      k += " (newest first)"
      }
      if (sortBy == "datenewest") {
      m += " (ascending)";
      k += " (oldest first)"
      }
      if (postFilter != "") {
      j = "Click to view all"
      }
      h += "<table>";
      h += "<tr>";
      h += '<td class="header1">';
      h += '<a href="javascript:toggleTitleSort();" title="' + m + '">' + e + "</a>";
      h += "</td>";
      h += '<td class="header2">';
      h += '<a href="javascript:toggleDateSort();" title="' + k + '">' + d + "</a>";
      h += "</td>";
      h += '<td class="header3">';
      h += '<a href="javascript:allPosts();" title="' + j + '">' + c + "</a>";
      h += "</td>";
      h += '<td class="header4">';
      h += "Read all";
      h += "</td>";
      h += "</tr>";
      for (var g = 0; g < postTitle.length; g++) {
      if (a == "") {
      h += '<tr><td class="entry1"><a href="' + postUrl[g] + '">' + postTitle[g] + '</a></td><td class="entry2">' + postDate[g] + '</td><td class="entry3">' + postLabels[g] + '</td><td class="entry4"><a href="' + postPublished[g] + '">Read</a></td></tr>';
      l++
      } else {
      z = postLabels[g].lastIndexOf(a);
      if (z != -1) {
      h += '<tr><td class="entry1"><a href="' + postUrl[g] + '">' + postTitle[g] + '</a></td><td class="entry2">' + postDate[g] + '</td><td class="entry3">' + postLabels[g] + '</td><td class="entry4"><a href="' + postPublished[g] + '">Read</a></td></tr>';
      l++
      }
      }
      }
      h += "</table>";
      if (l == postTitle.length) {
      var f = '<span class="toc-note">Show All ' + postTitle.length + " Posts<br/></span>"
      } else {
      var f = '<span class="toc-note">Show ' + l + " posts by category '";
      f += postFilter + "' the " + postTitle.length + " Total Posts<br/></span>"
      }
      var b = document.getElementById("toc");
      b.innerHTML = f + h
      }

      function displayToc2() {
      var a = 0;
      var b = 0;
      while (b < postTitle.length) {
      temp1 = postLabels[b];
      document.write("<p/>");
      document.write('<p class="labels"><a href="/search/label/' + temp1 + '">' + temp1 + "</a></p><ol>");
      firsti = a;
      do {
      document.write("<li>");
      document.write('<a class="post-titles" href="' + postUrl[a] + '">' + postTitle[a] + "</a>");
      if (postRecent[a] == true) {
      document.write(' - <strong><span style="color: rgb(255, 0, 0);">New!</span></strong>')
      }
      document.write("</li>");
      a = a + 1
      } while (postLabels[a] == temp1);
      b = a;
      document.write("</ol>");
      sortPosts2(firsti, a);
      if (b > postTitle.length) {
      break
      }
      }
      }

      function toggleTitleSort() {
      if (sortBy == "titleasc") {
      sortBy = "titledesc"
      } else {
      sortBy = "titleasc"
      }
      sortPosts(sortBy);
      displayToc(postFilter)
      }

      function toggleDateSort() {
      if (sortBy == "datenewest") {
      sortBy = "dateoldest"
      } else {
      sortBy = "datenewest"
      }
      sortPosts(sortBy);
      displayToc(postFilter)
      }

      function showToc() {
      if (tocLoaded) {
      displayToc(postFilter);
      var a = document.getElementById("toclink")
      } else {
      alert("Just wait... TOC is loading")
      }
      }

      function hideToc() {
      var a = document.getElementById("toc");
      a.innerHTML = "";
      var b = document.getElementById("toclink");
      b.innerHTML = '<a href="#" onclick="scroll(0,0); showToc(); Effect.toggle('toc-result','blind');">?? Display Table of Contents</a> <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ROxknL_N7nysfD5wz5mRYqcIbUlTFPHZEf8__D2vwG-YnGB9pJ6PJmvsMFEaw6pn03cbSUANtt2pIm9AyR0L9yyPDN00U8wmqmnj9nT5Wk5TuefnXXSeU4il6gVJMj-M-dzLXtSzrXnR/s1600/new_icon.gif"/>'
      }

      function looptemp2() {
      for (var a = 0; a < numberfeed; a++) {
      document.write("<br>");
      document.write('Post Link : <a href="' + postUrl[a] + '">' + postTitle[a] + "</a><br>");
      document.write('Read all : <a href="' + postPublished[a] + '">' + postTitle[a] + "</a><br>");
      document.write("<br>")
      }
      };
      //]]>
      </script>
      <script src="https://blogname.blogspot.com/feeds/posts/default?max-results=9999&amp;alt=json-in-script&amp;callback=bloggersitemap"></script>












      share|improve this question













      I'm using a javascript that generates a sitemap page with all posts sorted alphabetically and by label.
      It extracts the info from this link



      https://blogname.blogspot.com/feeds/posts/default?max-results=9999


      But a while back blogger introduced pagination to those links and they only display 150 posts now, so the sitemap shows only the last 150 post titles.



      Now i have to use multiple links to get all my posts, links like this:



      https://blogname.blogspot.com/feeds/posts/default?start-index=1&max-results=150
      https://blogname.blogspot.com/feeds/posts/default?start-index=151&max-results=150
      https://blogname.blogspot.com/feeds/posts/default?start-index=301&max-results=150
      https://blogname.blogspot.com/feeds/posts/default?start-index=451&max-results=150
      https://blogname.blogspot.com/feeds/posts/default?start-index=601&max-results=150


      The problem is I don't know if it's possible to use multiple links with this javascript, or how to modify it to use more than 1 link for extracting the info.



      My javascript knowledge is poor, i tried some noobish modifications but wasn't even close to succeed with any of them.
      I also tried manually getting all info from a few links and merging them into a .txt files, than uploaded it on dropbox and pastebin, but the script didn't worked with any other links that are not from my blog, not sure why.



      Here's the script i'm talking about:






      <script>
      //<![CDATA[
      var postTitle = new Array();
      var postUrl = new Array();
      var postPublished = new Array();
      var postDate = new Array();
      var postLabels = new Array();
      var postRecent = new Array();
      var sortBy = "titleasc";
      var tocLoaded = false;
      var numChars = 250;
      var postFilter = "";
      var numberfeed = 0;

      function bloggersitemap(a) {
      function b() {
      if ("entry" in a.feed) {
      var d = a.feed.entry.length;
      numberfeed = d;
      ii = 0;
      for (var h = 0; h < d; h++) {
      var n = a.feed.entry[h];
      var e = n.title.$t;
      var m = n.published.$t.substring(0, 10);
      var j;
      for (var g = 0; g < n.link.length; g++) {
      if (n.link[g].rel == "alternate") {
      j = n.link[g].href;
      break
      }
      }
      var o = "";
      for (var g = 0; g < n.link.length; g++) {
      if (n.link[g].rel == "enclosure") {
      o = n.link[g].href;
      break
      }
      }
      var c = "";
      if ("category" in n) {
      for (var g = 0; g < n.category.length; g++) {
      c = n.category[g].term;
      var f = c.lastIndexOf(";");
      if (f != -1) {
      c = c.substring(0, f)
      }
      postLabels[ii] = c;
      postTitle[ii] = e;
      postDate[ii] = m;
      postUrl[ii] = j;
      postPublished[ii] = o;
      if (h < 10) {
      postRecent[ii] = true
      } else {
      postRecent[ii] = false
      }
      ii = ii + 1
      }
      }
      }
      }
      }
      b();
      sortBy = "titleasc";
      sortPosts(sortBy);
      sortlabel();
      tocLoaded = true;
      displayToc2();
      }

      function filterPosts(a) {
      scroll(0, 0);
      postFilter = a;
      displayToc(postFilter)
      }

      function allPosts() {
      sortlabel();
      postFilter = "";
      displayToc(postFilter)
      }

      function sortPosts(d) {
      function c(e, g) {
      var f = postTitle[e];
      postTitle[e] = postTitle[g];
      postTitle[g] = f;
      var f = postDate[e];
      postDate[e] = postDate[g];
      postDate[g] = f;
      var f = postUrl[e];
      postUrl[e] = postUrl[g];
      postUrl[g] = f;
      var f = postLabels[e];
      postLabels[e] = postLabels[g];
      postLabels[g] = f;
      var f = postPublished[e];
      postPublished[e] = postPublished[g];
      postPublished[g] = f;
      var f = postRecent[e];
      postRecent[e] = postRecent[g];
      postRecent[g] = f
      }
      for (var b = 0; b < postTitle.length - 1; b++) {
      for (var a = b + 1; a < postTitle.length; a++) {
      if (d == "titleasc") {
      if (postTitle[b] > postTitle[a]) {
      c(b, a)
      }
      }
      if (d == "titledesc") {
      if (postTitle[b] < postTitle[a]) {
      c(b, a)
      }
      }
      if (d == "dateoldest") {
      if (postDate[b] > postDate[a]) {
      c(b, a)
      }
      }
      if (d == "datenewest") {
      if (postDate[b] < postDate[a]) {
      c(b, a)
      }
      }
      if (d == "orderlabel") {
      if (postLabels[b] > postLabels[a]) {
      c(b, a)
      }
      }
      }
      }
      }

      function sortlabel() {
      sortBy = "orderlabel";
      sortPosts(sortBy);
      var a = 0;
      var b = 0;
      while (b < postTitle.length) {
      temp1 = postLabels[b];
      firsti = a;
      do {
      a = a + 1
      } while (postLabels[a] == temp1);
      b = a;
      sortPosts2(firsti, a);
      if (b > postTitle.length) {
      break
      }
      }
      }

      function sortPosts2(d, c) {
      function e(f, h) {
      var g = postTitle[f];
      postTitle[f] = postTitle[h];
      postTitle[h] = g;
      var g = postDate[f];
      postDate[f] = postDate[h];
      postDate[h] = g;
      var g = postUrl[f];
      postUrl[f] = postUrl[h];
      postUrl[h] = g;
      var g = postLabels[f];
      postLabels[f] = postLabels[h];
      postLabels[h] = g;
      var g = postPublished[f];
      postPublished[f] = postPublished[h];
      postPublished[h] = g;
      var g = postRecent[f];
      postRecent[f] = postRecent[h];
      postRecent[h] = g
      }
      for (var b = d; b < c - 1; b++) {
      for (var a = b + 1; a < c; a++) {
      if (postTitle[b] > postTitle[a]) {
      e(b, a)
      }
      }
      }
      }

      function displayToc(a) {
      var l = 0;
      var h = "";
      var e = "Post Title";
      var m = "Click to sort by title";
      var d = "Date";
      var k = "Click to sort by date";
      var c = "Category";
      var j = "";
      if (sortBy == "titleasc") {
      m += " (descending)";
      k += " (newest first)"
      }
      if (sortBy == "titledesc") {
      m += " (ascending)";
      k += " (newest first)"
      }
      if (sortBy == "dateoldest") {
      m += " (ascending)";
      k += " (newest first)"
      }
      if (sortBy == "datenewest") {
      m += " (ascending)";
      k += " (oldest first)"
      }
      if (postFilter != "") {
      j = "Click to view all"
      }
      h += "<table>";
      h += "<tr>";
      h += '<td class="header1">';
      h += '<a href="javascript:toggleTitleSort();" title="' + m + '">' + e + "</a>";
      h += "</td>";
      h += '<td class="header2">';
      h += '<a href="javascript:toggleDateSort();" title="' + k + '">' + d + "</a>";
      h += "</td>";
      h += '<td class="header3">';
      h += '<a href="javascript:allPosts();" title="' + j + '">' + c + "</a>";
      h += "</td>";
      h += '<td class="header4">';
      h += "Read all";
      h += "</td>";
      h += "</tr>";
      for (var g = 0; g < postTitle.length; g++) {
      if (a == "") {
      h += '<tr><td class="entry1"><a href="' + postUrl[g] + '">' + postTitle[g] + '</a></td><td class="entry2">' + postDate[g] + '</td><td class="entry3">' + postLabels[g] + '</td><td class="entry4"><a href="' + postPublished[g] + '">Read</a></td></tr>';
      l++
      } else {
      z = postLabels[g].lastIndexOf(a);
      if (z != -1) {
      h += '<tr><td class="entry1"><a href="' + postUrl[g] + '">' + postTitle[g] + '</a></td><td class="entry2">' + postDate[g] + '</td><td class="entry3">' + postLabels[g] + '</td><td class="entry4"><a href="' + postPublished[g] + '">Read</a></td></tr>';
      l++
      }
      }
      }
      h += "</table>";
      if (l == postTitle.length) {
      var f = '<span class="toc-note">Show All ' + postTitle.length + " Posts<br/></span>"
      } else {
      var f = '<span class="toc-note">Show ' + l + " posts by category '";
      f += postFilter + "' the " + postTitle.length + " Total Posts<br/></span>"
      }
      var b = document.getElementById("toc");
      b.innerHTML = f + h
      }

      function displayToc2() {
      var a = 0;
      var b = 0;
      while (b < postTitle.length) {
      temp1 = postLabels[b];
      document.write("<p/>");
      document.write('<p class="labels"><a href="/search/label/' + temp1 + '">' + temp1 + "</a></p><ol>");
      firsti = a;
      do {
      document.write("<li>");
      document.write('<a class="post-titles" href="' + postUrl[a] + '">' + postTitle[a] + "</a>");
      if (postRecent[a] == true) {
      document.write(' - <strong><span style="color: rgb(255, 0, 0);">New!</span></strong>')
      }
      document.write("</li>");
      a = a + 1
      } while (postLabels[a] == temp1);
      b = a;
      document.write("</ol>");
      sortPosts2(firsti, a);
      if (b > postTitle.length) {
      break
      }
      }
      }

      function toggleTitleSort() {
      if (sortBy == "titleasc") {
      sortBy = "titledesc"
      } else {
      sortBy = "titleasc"
      }
      sortPosts(sortBy);
      displayToc(postFilter)
      }

      function toggleDateSort() {
      if (sortBy == "datenewest") {
      sortBy = "dateoldest"
      } else {
      sortBy = "datenewest"
      }
      sortPosts(sortBy);
      displayToc(postFilter)
      }

      function showToc() {
      if (tocLoaded) {
      displayToc(postFilter);
      var a = document.getElementById("toclink")
      } else {
      alert("Just wait... TOC is loading")
      }
      }

      function hideToc() {
      var a = document.getElementById("toc");
      a.innerHTML = "";
      var b = document.getElementById("toclink");
      b.innerHTML = '<a href="#" onclick="scroll(0,0); showToc(); Effect.toggle('toc-result','blind');">?? Display Table of Contents</a> <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ROxknL_N7nysfD5wz5mRYqcIbUlTFPHZEf8__D2vwG-YnGB9pJ6PJmvsMFEaw6pn03cbSUANtt2pIm9AyR0L9yyPDN00U8wmqmnj9nT5Wk5TuefnXXSeU4il6gVJMj-M-dzLXtSzrXnR/s1600/new_icon.gif"/>'
      }

      function looptemp2() {
      for (var a = 0; a < numberfeed; a++) {
      document.write("<br>");
      document.write('Post Link : <a href="' + postUrl[a] + '">' + postTitle[a] + "</a><br>");
      document.write('Read all : <a href="' + postPublished[a] + '">' + postTitle[a] + "</a><br>");
      document.write("<br>")
      }
      };
      //]]>
      </script>
      <script src="https://blogname.blogspot.com/feeds/posts/default?max-results=9999&amp;alt=json-in-script&amp;callback=bloggersitemap"></script>








      <script>
      //<![CDATA[
      var postTitle = new Array();
      var postUrl = new Array();
      var postPublished = new Array();
      var postDate = new Array();
      var postLabels = new Array();
      var postRecent = new Array();
      var sortBy = "titleasc";
      var tocLoaded = false;
      var numChars = 250;
      var postFilter = "";
      var numberfeed = 0;

      function bloggersitemap(a) {
      function b() {
      if ("entry" in a.feed) {
      var d = a.feed.entry.length;
      numberfeed = d;
      ii = 0;
      for (var h = 0; h < d; h++) {
      var n = a.feed.entry[h];
      var e = n.title.$t;
      var m = n.published.$t.substring(0, 10);
      var j;
      for (var g = 0; g < n.link.length; g++) {
      if (n.link[g].rel == "alternate") {
      j = n.link[g].href;
      break
      }
      }
      var o = "";
      for (var g = 0; g < n.link.length; g++) {
      if (n.link[g].rel == "enclosure") {
      o = n.link[g].href;
      break
      }
      }
      var c = "";
      if ("category" in n) {
      for (var g = 0; g < n.category.length; g++) {
      c = n.category[g].term;
      var f = c.lastIndexOf(";");
      if (f != -1) {
      c = c.substring(0, f)
      }
      postLabels[ii] = c;
      postTitle[ii] = e;
      postDate[ii] = m;
      postUrl[ii] = j;
      postPublished[ii] = o;
      if (h < 10) {
      postRecent[ii] = true
      } else {
      postRecent[ii] = false
      }
      ii = ii + 1
      }
      }
      }
      }
      }
      b();
      sortBy = "titleasc";
      sortPosts(sortBy);
      sortlabel();
      tocLoaded = true;
      displayToc2();
      }

      function filterPosts(a) {
      scroll(0, 0);
      postFilter = a;
      displayToc(postFilter)
      }

      function allPosts() {
      sortlabel();
      postFilter = "";
      displayToc(postFilter)
      }

      function sortPosts(d) {
      function c(e, g) {
      var f = postTitle[e];
      postTitle[e] = postTitle[g];
      postTitle[g] = f;
      var f = postDate[e];
      postDate[e] = postDate[g];
      postDate[g] = f;
      var f = postUrl[e];
      postUrl[e] = postUrl[g];
      postUrl[g] = f;
      var f = postLabels[e];
      postLabels[e] = postLabels[g];
      postLabels[g] = f;
      var f = postPublished[e];
      postPublished[e] = postPublished[g];
      postPublished[g] = f;
      var f = postRecent[e];
      postRecent[e] = postRecent[g];
      postRecent[g] = f
      }
      for (var b = 0; b < postTitle.length - 1; b++) {
      for (var a = b + 1; a < postTitle.length; a++) {
      if (d == "titleasc") {
      if (postTitle[b] > postTitle[a]) {
      c(b, a)
      }
      }
      if (d == "titledesc") {
      if (postTitle[b] < postTitle[a]) {
      c(b, a)
      }
      }
      if (d == "dateoldest") {
      if (postDate[b] > postDate[a]) {
      c(b, a)
      }
      }
      if (d == "datenewest") {
      if (postDate[b] < postDate[a]) {
      c(b, a)
      }
      }
      if (d == "orderlabel") {
      if (postLabels[b] > postLabels[a]) {
      c(b, a)
      }
      }
      }
      }
      }

      function sortlabel() {
      sortBy = "orderlabel";
      sortPosts(sortBy);
      var a = 0;
      var b = 0;
      while (b < postTitle.length) {
      temp1 = postLabels[b];
      firsti = a;
      do {
      a = a + 1
      } while (postLabels[a] == temp1);
      b = a;
      sortPosts2(firsti, a);
      if (b > postTitle.length) {
      break
      }
      }
      }

      function sortPosts2(d, c) {
      function e(f, h) {
      var g = postTitle[f];
      postTitle[f] = postTitle[h];
      postTitle[h] = g;
      var g = postDate[f];
      postDate[f] = postDate[h];
      postDate[h] = g;
      var g = postUrl[f];
      postUrl[f] = postUrl[h];
      postUrl[h] = g;
      var g = postLabels[f];
      postLabels[f] = postLabels[h];
      postLabels[h] = g;
      var g = postPublished[f];
      postPublished[f] = postPublished[h];
      postPublished[h] = g;
      var g = postRecent[f];
      postRecent[f] = postRecent[h];
      postRecent[h] = g
      }
      for (var b = d; b < c - 1; b++) {
      for (var a = b + 1; a < c; a++) {
      if (postTitle[b] > postTitle[a]) {
      e(b, a)
      }
      }
      }
      }

      function displayToc(a) {
      var l = 0;
      var h = "";
      var e = "Post Title";
      var m = "Click to sort by title";
      var d = "Date";
      var k = "Click to sort by date";
      var c = "Category";
      var j = "";
      if (sortBy == "titleasc") {
      m += " (descending)";
      k += " (newest first)"
      }
      if (sortBy == "titledesc") {
      m += " (ascending)";
      k += " (newest first)"
      }
      if (sortBy == "dateoldest") {
      m += " (ascending)";
      k += " (newest first)"
      }
      if (sortBy == "datenewest") {
      m += " (ascending)";
      k += " (oldest first)"
      }
      if (postFilter != "") {
      j = "Click to view all"
      }
      h += "<table>";
      h += "<tr>";
      h += '<td class="header1">';
      h += '<a href="javascript:toggleTitleSort();" title="' + m + '">' + e + "</a>";
      h += "</td>";
      h += '<td class="header2">';
      h += '<a href="javascript:toggleDateSort();" title="' + k + '">' + d + "</a>";
      h += "</td>";
      h += '<td class="header3">';
      h += '<a href="javascript:allPosts();" title="' + j + '">' + c + "</a>";
      h += "</td>";
      h += '<td class="header4">';
      h += "Read all";
      h += "</td>";
      h += "</tr>";
      for (var g = 0; g < postTitle.length; g++) {
      if (a == "") {
      h += '<tr><td class="entry1"><a href="' + postUrl[g] + '">' + postTitle[g] + '</a></td><td class="entry2">' + postDate[g] + '</td><td class="entry3">' + postLabels[g] + '</td><td class="entry4"><a href="' + postPublished[g] + '">Read</a></td></tr>';
      l++
      } else {
      z = postLabels[g].lastIndexOf(a);
      if (z != -1) {
      h += '<tr><td class="entry1"><a href="' + postUrl[g] + '">' + postTitle[g] + '</a></td><td class="entry2">' + postDate[g] + '</td><td class="entry3">' + postLabels[g] + '</td><td class="entry4"><a href="' + postPublished[g] + '">Read</a></td></tr>';
      l++
      }
      }
      }
      h += "</table>";
      if (l == postTitle.length) {
      var f = '<span class="toc-note">Show All ' + postTitle.length + " Posts<br/></span>"
      } else {
      var f = '<span class="toc-note">Show ' + l + " posts by category '";
      f += postFilter + "' the " + postTitle.length + " Total Posts<br/></span>"
      }
      var b = document.getElementById("toc");
      b.innerHTML = f + h
      }

      function displayToc2() {
      var a = 0;
      var b = 0;
      while (b < postTitle.length) {
      temp1 = postLabels[b];
      document.write("<p/>");
      document.write('<p class="labels"><a href="/search/label/' + temp1 + '">' + temp1 + "</a></p><ol>");
      firsti = a;
      do {
      document.write("<li>");
      document.write('<a class="post-titles" href="' + postUrl[a] + '">' + postTitle[a] + "</a>");
      if (postRecent[a] == true) {
      document.write(' - <strong><span style="color: rgb(255, 0, 0);">New!</span></strong>')
      }
      document.write("</li>");
      a = a + 1
      } while (postLabels[a] == temp1);
      b = a;
      document.write("</ol>");
      sortPosts2(firsti, a);
      if (b > postTitle.length) {
      break
      }
      }
      }

      function toggleTitleSort() {
      if (sortBy == "titleasc") {
      sortBy = "titledesc"
      } else {
      sortBy = "titleasc"
      }
      sortPosts(sortBy);
      displayToc(postFilter)
      }

      function toggleDateSort() {
      if (sortBy == "datenewest") {
      sortBy = "dateoldest"
      } else {
      sortBy = "datenewest"
      }
      sortPosts(sortBy);
      displayToc(postFilter)
      }

      function showToc() {
      if (tocLoaded) {
      displayToc(postFilter);
      var a = document.getElementById("toclink")
      } else {
      alert("Just wait... TOC is loading")
      }
      }

      function hideToc() {
      var a = document.getElementById("toc");
      a.innerHTML = "";
      var b = document.getElementById("toclink");
      b.innerHTML = '<a href="#" onclick="scroll(0,0); showToc(); Effect.toggle('toc-result','blind');">?? Display Table of Contents</a> <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ROxknL_N7nysfD5wz5mRYqcIbUlTFPHZEf8__D2vwG-YnGB9pJ6PJmvsMFEaw6pn03cbSUANtt2pIm9AyR0L9yyPDN00U8wmqmnj9nT5Wk5TuefnXXSeU4il6gVJMj-M-dzLXtSzrXnR/s1600/new_icon.gif"/>'
      }

      function looptemp2() {
      for (var a = 0; a < numberfeed; a++) {
      document.write("<br>");
      document.write('Post Link : <a href="' + postUrl[a] + '">' + postTitle[a] + "</a><br>");
      document.write('Read all : <a href="' + postPublished[a] + '">' + postTitle[a] + "</a><br>");
      document.write("<br>")
      }
      };
      //]]>
      </script>
      <script src="https://blogname.blogspot.com/feeds/posts/default?max-results=9999&amp;alt=json-in-script&amp;callback=bloggersitemap"></script>





      <script>
      //<![CDATA[
      var postTitle = new Array();
      var postUrl = new Array();
      var postPublished = new Array();
      var postDate = new Array();
      var postLabels = new Array();
      var postRecent = new Array();
      var sortBy = "titleasc";
      var tocLoaded = false;
      var numChars = 250;
      var postFilter = "";
      var numberfeed = 0;

      function bloggersitemap(a) {
      function b() {
      if ("entry" in a.feed) {
      var d = a.feed.entry.length;
      numberfeed = d;
      ii = 0;
      for (var h = 0; h < d; h++) {
      var n = a.feed.entry[h];
      var e = n.title.$t;
      var m = n.published.$t.substring(0, 10);
      var j;
      for (var g = 0; g < n.link.length; g++) {
      if (n.link[g].rel == "alternate") {
      j = n.link[g].href;
      break
      }
      }
      var o = "";
      for (var g = 0; g < n.link.length; g++) {
      if (n.link[g].rel == "enclosure") {
      o = n.link[g].href;
      break
      }
      }
      var c = "";
      if ("category" in n) {
      for (var g = 0; g < n.category.length; g++) {
      c = n.category[g].term;
      var f = c.lastIndexOf(";");
      if (f != -1) {
      c = c.substring(0, f)
      }
      postLabels[ii] = c;
      postTitle[ii] = e;
      postDate[ii] = m;
      postUrl[ii] = j;
      postPublished[ii] = o;
      if (h < 10) {
      postRecent[ii] = true
      } else {
      postRecent[ii] = false
      }
      ii = ii + 1
      }
      }
      }
      }
      }
      b();
      sortBy = "titleasc";
      sortPosts(sortBy);
      sortlabel();
      tocLoaded = true;
      displayToc2();
      }

      function filterPosts(a) {
      scroll(0, 0);
      postFilter = a;
      displayToc(postFilter)
      }

      function allPosts() {
      sortlabel();
      postFilter = "";
      displayToc(postFilter)
      }

      function sortPosts(d) {
      function c(e, g) {
      var f = postTitle[e];
      postTitle[e] = postTitle[g];
      postTitle[g] = f;
      var f = postDate[e];
      postDate[e] = postDate[g];
      postDate[g] = f;
      var f = postUrl[e];
      postUrl[e] = postUrl[g];
      postUrl[g] = f;
      var f = postLabels[e];
      postLabels[e] = postLabels[g];
      postLabels[g] = f;
      var f = postPublished[e];
      postPublished[e] = postPublished[g];
      postPublished[g] = f;
      var f = postRecent[e];
      postRecent[e] = postRecent[g];
      postRecent[g] = f
      }
      for (var b = 0; b < postTitle.length - 1; b++) {
      for (var a = b + 1; a < postTitle.length; a++) {
      if (d == "titleasc") {
      if (postTitle[b] > postTitle[a]) {
      c(b, a)
      }
      }
      if (d == "titledesc") {
      if (postTitle[b] < postTitle[a]) {
      c(b, a)
      }
      }
      if (d == "dateoldest") {
      if (postDate[b] > postDate[a]) {
      c(b, a)
      }
      }
      if (d == "datenewest") {
      if (postDate[b] < postDate[a]) {
      c(b, a)
      }
      }
      if (d == "orderlabel") {
      if (postLabels[b] > postLabels[a]) {
      c(b, a)
      }
      }
      }
      }
      }

      function sortlabel() {
      sortBy = "orderlabel";
      sortPosts(sortBy);
      var a = 0;
      var b = 0;
      while (b < postTitle.length) {
      temp1 = postLabels[b];
      firsti = a;
      do {
      a = a + 1
      } while (postLabels[a] == temp1);
      b = a;
      sortPosts2(firsti, a);
      if (b > postTitle.length) {
      break
      }
      }
      }

      function sortPosts2(d, c) {
      function e(f, h) {
      var g = postTitle[f];
      postTitle[f] = postTitle[h];
      postTitle[h] = g;
      var g = postDate[f];
      postDate[f] = postDate[h];
      postDate[h] = g;
      var g = postUrl[f];
      postUrl[f] = postUrl[h];
      postUrl[h] = g;
      var g = postLabels[f];
      postLabels[f] = postLabels[h];
      postLabels[h] = g;
      var g = postPublished[f];
      postPublished[f] = postPublished[h];
      postPublished[h] = g;
      var g = postRecent[f];
      postRecent[f] = postRecent[h];
      postRecent[h] = g
      }
      for (var b = d; b < c - 1; b++) {
      for (var a = b + 1; a < c; a++) {
      if (postTitle[b] > postTitle[a]) {
      e(b, a)
      }
      }
      }
      }

      function displayToc(a) {
      var l = 0;
      var h = "";
      var e = "Post Title";
      var m = "Click to sort by title";
      var d = "Date";
      var k = "Click to sort by date";
      var c = "Category";
      var j = "";
      if (sortBy == "titleasc") {
      m += " (descending)";
      k += " (newest first)"
      }
      if (sortBy == "titledesc") {
      m += " (ascending)";
      k += " (newest first)"
      }
      if (sortBy == "dateoldest") {
      m += " (ascending)";
      k += " (newest first)"
      }
      if (sortBy == "datenewest") {
      m += " (ascending)";
      k += " (oldest first)"
      }
      if (postFilter != "") {
      j = "Click to view all"
      }
      h += "<table>";
      h += "<tr>";
      h += '<td class="header1">';
      h += '<a href="javascript:toggleTitleSort();" title="' + m + '">' + e + "</a>";
      h += "</td>";
      h += '<td class="header2">';
      h += '<a href="javascript:toggleDateSort();" title="' + k + '">' + d + "</a>";
      h += "</td>";
      h += '<td class="header3">';
      h += '<a href="javascript:allPosts();" title="' + j + '">' + c + "</a>";
      h += "</td>";
      h += '<td class="header4">';
      h += "Read all";
      h += "</td>";
      h += "</tr>";
      for (var g = 0; g < postTitle.length; g++) {
      if (a == "") {
      h += '<tr><td class="entry1"><a href="' + postUrl[g] + '">' + postTitle[g] + '</a></td><td class="entry2">' + postDate[g] + '</td><td class="entry3">' + postLabels[g] + '</td><td class="entry4"><a href="' + postPublished[g] + '">Read</a></td></tr>';
      l++
      } else {
      z = postLabels[g].lastIndexOf(a);
      if (z != -1) {
      h += '<tr><td class="entry1"><a href="' + postUrl[g] + '">' + postTitle[g] + '</a></td><td class="entry2">' + postDate[g] + '</td><td class="entry3">' + postLabels[g] + '</td><td class="entry4"><a href="' + postPublished[g] + '">Read</a></td></tr>';
      l++
      }
      }
      }
      h += "</table>";
      if (l == postTitle.length) {
      var f = '<span class="toc-note">Show All ' + postTitle.length + " Posts<br/></span>"
      } else {
      var f = '<span class="toc-note">Show ' + l + " posts by category '";
      f += postFilter + "' the " + postTitle.length + " Total Posts<br/></span>"
      }
      var b = document.getElementById("toc");
      b.innerHTML = f + h
      }

      function displayToc2() {
      var a = 0;
      var b = 0;
      while (b < postTitle.length) {
      temp1 = postLabels[b];
      document.write("<p/>");
      document.write('<p class="labels"><a href="/search/label/' + temp1 + '">' + temp1 + "</a></p><ol>");
      firsti = a;
      do {
      document.write("<li>");
      document.write('<a class="post-titles" href="' + postUrl[a] + '">' + postTitle[a] + "</a>");
      if (postRecent[a] == true) {
      document.write(' - <strong><span style="color: rgb(255, 0, 0);">New!</span></strong>')
      }
      document.write("</li>");
      a = a + 1
      } while (postLabels[a] == temp1);
      b = a;
      document.write("</ol>");
      sortPosts2(firsti, a);
      if (b > postTitle.length) {
      break
      }
      }
      }

      function toggleTitleSort() {
      if (sortBy == "titleasc") {
      sortBy = "titledesc"
      } else {
      sortBy = "titleasc"
      }
      sortPosts(sortBy);
      displayToc(postFilter)
      }

      function toggleDateSort() {
      if (sortBy == "datenewest") {
      sortBy = "dateoldest"
      } else {
      sortBy = "datenewest"
      }
      sortPosts(sortBy);
      displayToc(postFilter)
      }

      function showToc() {
      if (tocLoaded) {
      displayToc(postFilter);
      var a = document.getElementById("toclink")
      } else {
      alert("Just wait... TOC is loading")
      }
      }

      function hideToc() {
      var a = document.getElementById("toc");
      a.innerHTML = "";
      var b = document.getElementById("toclink");
      b.innerHTML = '<a href="#" onclick="scroll(0,0); showToc(); Effect.toggle('toc-result','blind');">?? Display Table of Contents</a> <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ROxknL_N7nysfD5wz5mRYqcIbUlTFPHZEf8__D2vwG-YnGB9pJ6PJmvsMFEaw6pn03cbSUANtt2pIm9AyR0L9yyPDN00U8wmqmnj9nT5Wk5TuefnXXSeU4il6gVJMj-M-dzLXtSzrXnR/s1600/new_icon.gif"/>'
      }

      function looptemp2() {
      for (var a = 0; a < numberfeed; a++) {
      document.write("<br>");
      document.write('Post Link : <a href="' + postUrl[a] + '">' + postTitle[a] + "</a><br>");
      document.write('Read all : <a href="' + postPublished[a] + '">' + postTitle[a] + "</a><br>");
      document.write("<br>")
      }
      };
      //]]>
      </script>
      <script src="https://blogname.blogspot.com/feeds/posts/default?max-results=9999&amp;alt=json-in-script&amp;callback=bloggersitemap"></script>






      javascript






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 17 at 21:15









      FuZzy1

      277




      277
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted











          1. Pass JSON feeds to another function before callback, use spread operator (...) or concat to combine post entries array.

          2. Check for the last query, then do your callback : bloggersitemap()




          var entries = ;
          var successQuery = 0;
          var totalQuery = 6; //your total feeds query <script> tag

          function combineEntries(a) {
          if ("entry" in a.feed)
          entries = [...entries,...a.feed.entry];

          successQuery++;
          if (successQuery == totalQuery)
          {
          bloggersitemap(
          {feed:{entry:entries}}
          );
          entries = ; // avoid further manipulations to entries
          }
          }





          share|improve this answer























          • Thanks for your answer. As i said in the first post, i'm pretty noob at coding, i tried to do what you told me, but i'm pretty sure i did it wrong, here's what i did: link
            – FuZzy1
            Nov 19 at 17:40












          • you forget to add callback in the script src tag.. add callback to combineEntries.. I've updated the answer (passing an object to bloggersitemap).. works just fine, tested
            – bill
            2 days ago












          • It works now, thanks a lot!
            – FuZzy1
            2 days ago











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53355654%2fblogger-sitemap-javascript%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          0
          down vote



          accepted











          1. Pass JSON feeds to another function before callback, use spread operator (...) or concat to combine post entries array.

          2. Check for the last query, then do your callback : bloggersitemap()




          var entries = ;
          var successQuery = 0;
          var totalQuery = 6; //your total feeds query <script> tag

          function combineEntries(a) {
          if ("entry" in a.feed)
          entries = [...entries,...a.feed.entry];

          successQuery++;
          if (successQuery == totalQuery)
          {
          bloggersitemap(
          {feed:{entry:entries}}
          );
          entries = ; // avoid further manipulations to entries
          }
          }





          share|improve this answer























          • Thanks for your answer. As i said in the first post, i'm pretty noob at coding, i tried to do what you told me, but i'm pretty sure i did it wrong, here's what i did: link
            – FuZzy1
            Nov 19 at 17:40












          • you forget to add callback in the script src tag.. add callback to combineEntries.. I've updated the answer (passing an object to bloggersitemap).. works just fine, tested
            – bill
            2 days ago












          • It works now, thanks a lot!
            – FuZzy1
            2 days ago















          up vote
          0
          down vote



          accepted











          1. Pass JSON feeds to another function before callback, use spread operator (...) or concat to combine post entries array.

          2. Check for the last query, then do your callback : bloggersitemap()




          var entries = ;
          var successQuery = 0;
          var totalQuery = 6; //your total feeds query <script> tag

          function combineEntries(a) {
          if ("entry" in a.feed)
          entries = [...entries,...a.feed.entry];

          successQuery++;
          if (successQuery == totalQuery)
          {
          bloggersitemap(
          {feed:{entry:entries}}
          );
          entries = ; // avoid further manipulations to entries
          }
          }





          share|improve this answer























          • Thanks for your answer. As i said in the first post, i'm pretty noob at coding, i tried to do what you told me, but i'm pretty sure i did it wrong, here's what i did: link
            – FuZzy1
            Nov 19 at 17:40












          • you forget to add callback in the script src tag.. add callback to combineEntries.. I've updated the answer (passing an object to bloggersitemap).. works just fine, tested
            – bill
            2 days ago












          • It works now, thanks a lot!
            – FuZzy1
            2 days ago













          up vote
          0
          down vote



          accepted







          up vote
          0
          down vote



          accepted







          1. Pass JSON feeds to another function before callback, use spread operator (...) or concat to combine post entries array.

          2. Check for the last query, then do your callback : bloggersitemap()




          var entries = ;
          var successQuery = 0;
          var totalQuery = 6; //your total feeds query <script> tag

          function combineEntries(a) {
          if ("entry" in a.feed)
          entries = [...entries,...a.feed.entry];

          successQuery++;
          if (successQuery == totalQuery)
          {
          bloggersitemap(
          {feed:{entry:entries}}
          );
          entries = ; // avoid further manipulations to entries
          }
          }





          share|improve this answer















          1. Pass JSON feeds to another function before callback, use spread operator (...) or concat to combine post entries array.

          2. Check for the last query, then do your callback : bloggersitemap()




          var entries = ;
          var successQuery = 0;
          var totalQuery = 6; //your total feeds query <script> tag

          function combineEntries(a) {
          if ("entry" in a.feed)
          entries = [...entries,...a.feed.entry];

          successQuery++;
          if (successQuery == totalQuery)
          {
          bloggersitemap(
          {feed:{entry:entries}}
          );
          entries = ; // avoid further manipulations to entries
          }
          }






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited yesterday

























          answered Nov 18 at 23:38









          bill

          664




          664












          • Thanks for your answer. As i said in the first post, i'm pretty noob at coding, i tried to do what you told me, but i'm pretty sure i did it wrong, here's what i did: link
            – FuZzy1
            Nov 19 at 17:40












          • you forget to add callback in the script src tag.. add callback to combineEntries.. I've updated the answer (passing an object to bloggersitemap).. works just fine, tested
            – bill
            2 days ago












          • It works now, thanks a lot!
            – FuZzy1
            2 days ago


















          • Thanks for your answer. As i said in the first post, i'm pretty noob at coding, i tried to do what you told me, but i'm pretty sure i did it wrong, here's what i did: link
            – FuZzy1
            Nov 19 at 17:40












          • you forget to add callback in the script src tag.. add callback to combineEntries.. I've updated the answer (passing an object to bloggersitemap).. works just fine, tested
            – bill
            2 days ago












          • It works now, thanks a lot!
            – FuZzy1
            2 days ago
















          Thanks for your answer. As i said in the first post, i'm pretty noob at coding, i tried to do what you told me, but i'm pretty sure i did it wrong, here's what i did: link
          – FuZzy1
          Nov 19 at 17:40






          Thanks for your answer. As i said in the first post, i'm pretty noob at coding, i tried to do what you told me, but i'm pretty sure i did it wrong, here's what i did: link
          – FuZzy1
          Nov 19 at 17:40














          you forget to add callback in the script src tag.. add callback to combineEntries.. I've updated the answer (passing an object to bloggersitemap).. works just fine, tested
          – bill
          2 days ago






          you forget to add callback in the script src tag.. add callback to combineEntries.. I've updated the answer (passing an object to bloggersitemap).. works just fine, tested
          – bill
          2 days ago














          It works now, thanks a lot!
          – FuZzy1
          2 days ago




          It works now, thanks a lot!
          – FuZzy1
          2 days ago


















           

          draft saved


          draft discarded



















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53355654%2fblogger-sitemap-javascript%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Paul Cézanne

          UIScrollView CustomStickyHeader Resize height generates problems when scroll is too fast

          Angular material date-picker (MatDatepicker) auto completes the date on focus out