簡體   English   中英

如何創建Blogger靜態頁面列出最近的評論?

[英]How Do I Create a Blogger Static Page Listing Recent Comments?

我有一個由Blogger托管的博客。 http://www.rocketstackrank.com

我想為“最近的評論”添加一個標簽,因為我認為“評論小部件”埋在側面,並且無論如何也沒有顯示足夠的評論。 我在想,如果給人們一個特定的頁面,其中列出了數十條評論,那么我會吸引更多的人對此做出回應。

理想情況下,我將以某種方式重新利用現有的最近評論小部件來實現此目的。 我對HTML,CSS,JQuery等感到滿意。否則,我打算編寫一個C#應用程序,以使用Blogger API提取注釋,然后動態創建頁面。 (並每天大約手動運行一次該程序。)

但是肯定有更好的方法。

創建用於評論的新靜態頁面,然后在“ HTML”模式下編輯頁面。

然后,您可以粘貼這樣的腳本以顯示最近的注釋:

<script>
//<![CDATA[
function showrecentcomments(json) {
    for (var i = 0; i < numcomments; i++) {
        var entry = json.feed.entry[i];
        var alturl;
        if (i == json.feed.entry.length) {
            break;
        }
        for (var k = 0; k < entry.link.length; k++) {
            if (entry.link[k].rel == 'alternate') {
                alturl = entry.link[k].href;
                flagAnon = !1;
                break;
            } else {
                // anonymous commenter
                alturl = "http:\/\/www.rocketstackrank.com\/?showComment=#";
                flagAnon = !0;
            }
        }
        var postlink = alturl.split("?showComment=");
        postlink = postlink[0];
        if ("content" in entry) {
            var comment = entry.content.$t;
        } else
        if ("summary" in entry) {
            var comment = entry.summary.$t;
        } else var comment = "";
        var re = /<\S[^>]*>/g;
        comment = comment.replace(re, "");
        if (!standardstyling) document.write('<div class="bbrecpost">');
        if (standardstyling) document.write('<br/>');
        if (flagAnon = !1) {
            document.write('<a href="' + alturl + '" style="text-decoration:none">' + entry.author[0].name.$t + ':' + '</a>   ');
        } else {
            document.write('<a href="' + alturl + '" style="text-decoration:none">' + entry.author[0].name.$t + ':' + '</a>   ');
        }
        if (showposttitle == true) document.write(' in ' + posttitle);
        if (!standardstyling) document.write('</div><div class="bbrecpostsum">');
        if (standardstyling) document.write('<div class="txtmsg"><br/></div>');
        if (comment.length < numchars) {
            if (standardstyling) document.write('<span style="word-break: break-word;">');
            document.write(comment);
            if (standardstyling) document.write('</span>');
        } else {
            if (standardstyling) document.write('<span style="word-break: break-word;">');
            comment = comment.substring(0, numchars);
            var quoteEnd = comment.lastIndexOf(" ");
            comment = comment.substring(0, quoteEnd);
            document.write(comment + '...<a href="' + alturl + '">(Read more)</a>');
            if (standardstyling) document.write('</span>');
        }
        if (!standardstyling) document.write('</div>');
        if (standardstyling) document.write('<br/>');
    }
    if (!standardstyling) document.write('<div class="bbwidgetfooter">');
    if (standardstyling) document.write('<div style="height:6px;width:100%;"></div>');
    if (!standardstyling) document.write('</div>');
}
// Params
var numcomments = 5;
var showposttitle = false;
var numchars = 70;
var standardstyling = true;
//]]>
</script>
<script src='//www.rocketstackrank.com/feeds/comments/summary?max-results=5&alt=json-in-script&callback=showrecentcomments'></script>

確保參數numcomments = INTEGER (在腳本內)等於回調腳本中的max-results=INTEGER

使用param numchars = INTEGER可以設置評論預覽的長度。

在HTML模式下發布保持Blogger編輯器為頁面的頁面。

作為最終建議,請根據需要檢查HTML輸出和樣式,並根據要顯示的內容添加/刪除對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM