Blogger Sitemap JavaScript












1














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/AVvXsEhikEPztAO01GzBUzZ794Iw6rMq0ldkKZIGbNzyc4ZsEKAdx3aFlSCV9c1nYK3ZzHJZmFSh-MihIOpWHUC6tyhjrdLKvoBKt2eTMwqlLXWymMhyphenhyphenprkAX0t8xvMA_a8p8QEYoTVrv1ikU1AN/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



























    1














    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/AVvXsEhikEPztAO01GzBUzZ794Iw6rMq0ldkKZIGbNzyc4ZsEKAdx3aFlSCV9c1nYK3ZzHJZmFSh-MihIOpWHUC6tyhjrdLKvoBKt2eTMwqlLXWymMhyphenhyphenprkAX0t8xvMA_a8p8QEYoTVrv1ikU1AN/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

























      1












      1








      1







      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/AVvXsEhikEPztAO01GzBUzZ794Iw6rMq0ldkKZIGbNzyc4ZsEKAdx3aFlSCV9c1nYK3ZzHJZmFSh-MihIOpWHUC6tyhjrdLKvoBKt2eTMwqlLXWymMhyphenhyphenprkAX0t8xvMA_a8p8QEYoTVrv1ikU1AN/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/AVvXsEhikEPztAO01GzBUzZ794Iw6rMq0ldkKZIGbNzyc4ZsEKAdx3aFlSCV9c1nYK3ZzHJZmFSh-MihIOpWHUC6tyhjrdLKvoBKt2eTMwqlLXWymMhyphenhyphenprkAX0t8xvMA_a8p8QEYoTVrv1ikU1AN/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/AVvXsEhikEPztAO01GzBUzZ794Iw6rMq0ldkKZIGbNzyc4ZsEKAdx3aFlSCV9c1nYK3ZzHJZmFSh-MihIOpWHUC6tyhjrdLKvoBKt2eTMwqlLXWymMhyphenhyphenprkAX0t8xvMA_a8p8QEYoTVrv1ikU1AN/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/AVvXsEhikEPztAO01GzBUzZ794Iw6rMq0ldkKZIGbNzyc4ZsEKAdx3aFlSCV9c1nYK3ZzHJZmFSh-MihIOpWHUC6tyhjrdLKvoBKt2eTMwqlLXWymMhyphenhyphenprkAX0t8xvMA_a8p8QEYoTVrv1ikU1AN/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 '18 at 21:15









      FuZzy1FuZzy1

      277




      277
























          1 Answer
          1






          active

          oldest

          votes


















          0















          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 '18 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
            Nov 21 '18 at 13:31












          • It works now, thanks a lot!
            – FuZzy1
            Nov 21 '18 at 16:03











          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',
          autoActivateHeartbeat: false,
          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









          0















          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 '18 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
            Nov 21 '18 at 13:31












          • It works now, thanks a lot!
            – FuZzy1
            Nov 21 '18 at 16:03
















          0















          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 '18 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
            Nov 21 '18 at 13:31












          • It works now, thanks a lot!
            – FuZzy1
            Nov 21 '18 at 16:03














          0












          0








          0







          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 Nov 22 '18 at 4:58

























          answered Nov 18 '18 at 23:38









          billbill

          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 '18 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
            Nov 21 '18 at 13:31












          • It works now, thanks a lot!
            – FuZzy1
            Nov 21 '18 at 16:03


















          • 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 '18 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
            Nov 21 '18 at 13:31












          • It works now, thanks a lot!
            – FuZzy1
            Nov 21 '18 at 16:03
















          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 '18 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 '18 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
          Nov 21 '18 at 13:31






          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
          Nov 21 '18 at 13:31














          It works now, thanks a lot!
          – FuZzy1
          Nov 21 '18 at 16:03




          It works now, thanks a lot!
          – FuZzy1
          Nov 21 '18 at 16:03


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          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

          Biblatex bibliography style without URLs when DOI exists (in Overleaf with Zotero bibliography)

          ComboBox Display Member on multiple fields

          Is it possible to collect Nectar points via Trainline?