Sunday, March 25, 2012

Blogger JSON · Table of Content Base

<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
<title>Blogger Table of Content</title>
<script>
// ----------------------------------------------------------------------------
// Author: Abu Farhan - http://www.abu-farhan.com
// Optimized by Taufik Nurrohman - http://dte-feed.blogspot.com
// ----------------------------------------------------------------------------
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="//dte-feed.blogspot.com/feeds/posts/default/?max-results=9999&alt=json-in-script&callback=loadtoc"></script>
</body>
</html>

Labels: , ,

6 Comments:

At Saturday, May 19, 2012 at 7:50:00 AM GMT+7, Anonymous Anonymous said...

wah kodenya bikin pusing

 
At Thursday, May 9, 2013 at 11:41:00 AM GMT+7, Blogger Unknown said...

ini maksudnya apa bang ? :p

 
At Thursday, May 9, 2013 at 3:57:00 PM GMT+7, Blogger budkalon said...

Mungkin seperti halaman daftar isi?

 
At Friday, October 25, 2013 at 10:49:00 PM GMT+7, Blogger Unknown said...

gan kalo untuk ini bisa di tambahin search nya ngga ?
tolong confrimasi lagi donk !

 
At Friday, February 3, 2017 at 1:23:00 AM GMT+7, Blogger Game Cover said...

hi, there is any way to show all posts? i have a website with more than 16k posts

 
At Friday, March 24, 2017 at 2:21:00 AM GMT+7, Blogger Taufik Nurrohman said...

Just increase the max-results value.

 

Post a Comment

<< Home