Wednesday, April 10, 2019

Table of Content Base - Blogger JSON

Table of Content Base - Blogger JSON
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
<title>Blogger Table of Content</title>
<script>
var postTitle = new Array(),
    postUrl = new Array(),
    postDate = new Array(),
    postLabels = new Array(),
    postNew = new Array(),
    newText = " - <strong><em style='color:red;'>Baru!!</em></strong>",
    tocLoaded = false,
    postFilter = "",
    numberfeed = 0;

function loadtoc(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],
                    e = n.title.$t,
                    m = n.published.$t.substring(0, 10),
                    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;
                        if (h < 10) {
                            postNew[ii] = true
                        } else {
                            postNew[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 = postNew[e];
        postNew[e] = postNew[g];
        postNew[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, 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 = postNew[f];
        postNew[f] = postNew[h];
        postNew[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 displayToc2() {
    var a = 0, b = 0;
        document.write("<ol>");
    while (b < postTitle.length) {
        temp1 = postLabels[b];
        document.write('<li><b><a href="/search/label/' + temp1 + '">' + temp1 + "</a></b><ol>");
        firsti = a;
        do {
            document.write("<li>");
            document.write('<a href="' + postUrl[a] + '">' + postTitle[a] + "</a>");
            if (postNew[a] == true) {
                document.write(newText)
            }
            document.write("</li>");
            a = a + 1
        } while (postLabels[a] == temp1);
        b = a;
        document.write("</ol></li>");
        sortPosts2(firsti, a);
        if (b > postTitle.length) {
            break
        }
    }
    document.write("</ol>");
}
</script>
</head>
<body>
<script src="//theo.my.id/feeds/posts/default/?max-results=9999&alt=json-in-script&callback=loadtoc"></script>
</body>
</html>

Post a Comment