Sunday, July 13, 2008

Threaded Comments in Blogger

With all the new features being introduced in blogger, there was still a feature I would like which was not included - Threaded Comments. So I decided to mix the existing comment system with a little bit of javascript and come up with my own version of threaded comments. The advantage of using this is that you are still allowing blogger
to manage your comments unlike a couple of other tools I have seen. Check out the Threaded version in action
by adding your comments below ;).

The idea behind this came from the simple observation that most of us use @AuthorName to reply to comments posted by other users in 'single' threaded comments. So the javascript I wrote just parses the comment bodies for this author name (or comment ids) and then searches for appropriate comments to find parents of the reply comments.

Below is an image of how after I implemented this idea the comments section on my blog changed:

Features:
In addition to the threaded support:

  • Include multiple replies in your comment using multiple @replyTargets on separate lines in your comment
  • Blog authors can have their comments highlightd differently - use css styles for 'blog-author-comment' and 'blog-nonauthor-comment'
  • Include multiple replies in your comment using multiple @replyTargets in the comment
  • Hide/Show individual comments
  • Configurable template to display comments - use you custom template to call applyCommentTemplate();

How to install:
Note: Remember to back up your existing template before making any changes to it.
Here are the steps to follow:

  1. Include the java script file to the top of your template just before the <b:skin> tags starts

    <script type="text/javascript">
    //<![CDATA[
    /*
    --- Threaded Comments ---
    v 0.9.3 15th March 2009
    By Shams Mahmood
    http://shamsmi.blogspot.com
    */
    function Author(C,A,B){this.id=C;this.name=A;this.url=B;this.toString=function(F){var E="\t";if(F){for(var D=0;D<F;D++){E+="\t"}}return"Author[\n"+E+"id="+this.id+", \n"+E+"name="+this.name+", \n"+E+"url="+this.url+"\n"+E+"]"}}function Comment(E,H,G,C,B,D,F,A){this.id=E;this.sequenceNumber=H;this.postedTime=G;this.body=F;this.deleted=A;this.deleteUrl=B;this.deleteText=D;this.parentId="";this.children=new Array();this.level=0;this.author=C;this.getChildCount=function(){return this.children.length};this.addChild=function(I){this.children[this.getChildCount()]=I.id;I.parentId=this.id;I.level=this.level+1};this.toString=function(K){var J="\t";if(K){for(var I=0;I<K;I++){J+="\t"}}return"Comment[\n"+J+"id="+this.id+", \n"+J+"sequence="+this.sequenceNumber+", \n"+J+"deleted="+this.deleted+", \n"+J+"parentId="+this.parentId+", \n"+J+"children=["+this.children+"], \n"+J+"level="+this.level+", \n"+J+"author="+this.author.toString(1)+", \n"+J+"posted time="+this.postedTime+", \n"+J+"body="+this.body+"\n"+J+"]"}}function trimBrsFromString(C){var F=trimString(C);var B=["<br>","<br >","<br/>","<br />","<BR>","<BR >","<BR/>","<BR />"];if(F){var E=true;while(E){E=false;for(var D in B){var A=B[D];if(F.indexOf(A)==0){F=F.substring(A.length);F=trimString(F);E=true}var H=F.length;var G=F.lastIndexOf(A);if(G>=0&&G==H-A.length){F=F.substring(0,G);F=trimString(F);E=true}}}}return F}function trimString(A){var E="";if(A){var D=false;for(var B=0;B<A.length;B++){var F=A.charAt(B);if(!D&&F!=" "&&F!="\n"&&F!="\t"){D=true}if(D){E+=F}}D=false;var C=-1;for(var B=E.length-1;!D&&B>0;B--){var F=E.charAt(B);if(!D&&F!=" "&&F!="\n"&&F!="\t"){D=true;C=B}}if(C>0){E=E.substring(0,C+1)}}return E}function addItem(A,B){A[B.id]=B}function getAllItems(C){var D=new Array();var B=0;for(var A in C){D[B]=C[A];B++}return D}function getItemsCount(C){var B=0;for(var A in C){B++}return B}var ALL_AUTHORS=new Object();var ALL_COMMENTS=new Object();function getNewAuthorId(){var C=1;for(var A in ALL_AUTHORS){if(ALL_AUTHORS[A]&&ALL_AUTHORS[A].id){var B=ALL_AUTHORS[A].id;if(B>=C){C=B+1}}}return C}function createAuthor(C,A,B){return new Author(C,A,B)}function addAuthor(A){addItem(ALL_AUTHORS,A)}function getAllAuthors(){return getAllItems(ALL_AUTHORS)}function getAuthorsCount(){return getItemsCount(ALL_AUTHORS)}function findAuthor(C,B){for(var A in ALL_AUTHORS){if(ALL_AUTHORS[A]){if(ALL_AUTHORS[A].name==C&&ALL_AUTHORS[A].url==B){return ALL_AUTHORS[A]}}}return null}function getNewCommentSequence(){var C=1;for(var A in ALL_COMMENTS){if(ALL_COMMENTS[A]&&ALL_COMMENTS[A].sequenceNumber){var B=ALL_COMMENTS[A].sequenceNumber;if(B>=C){C=B+1}}}return C}function createComment(E,H,G,C,B,D,F,A){return new Comment(E,H,G,C,B,D,F,A)}function addComment(A){addItem(ALL_COMMENTS,A)}function getAllComments(){return getAllItems(ALL_COMMENTS)}function getRootComments(){var D=new Array();var C=0;for(var A in ALL_COMMENTS){var B=ALL_COMMENTS[A];if(B&&B.level==0){D[C]=B;C++}}return D}function getCommentsCount(){return getItemsCount(ALL_COMMENTS)}function findComment(B){for(var A in ALL_COMMENTS){if(ALL_COMMENTS[A]){if(ALL_COMMENTS[A].id==B){return ALL_COMMENTS[A]}}}return null}function findLastCommentByAuthorName(C){var B=null;for(var A in ALL_COMMENTS){if(ALL_COMMENTS[A]){if(ALL_COMMENTS[A].author.name==C){B=ALL_COMMENTS[A]}}}return B}function findLastCommentByPartialAuthorName(C){var B=null;for(var A in ALL_COMMENTS){if(ALL_COMMENTS[A]){if(ALL_COMMENTS[A].author.name.toLowerCase().indexOf(C.toLowerCase())==0){B=ALL_COMMENTS[A]}}}return B}function addCommentHierarchy(D,C){if(D){C[C.length]=D;var A=D.children;for(var B in A){addCommentHierarchy(findComment(A[B]),C)}}}function getCommmentsInSortedOrder(){var D=new Array();var A=getRootComments();for(var B in A){var C=A[B];addCommentHierarchy(C,D)}return D}function ParsedResult(A,B){this.parentComment=A;this.body=B;this.toString=function(){return"[parentComment="+this.parentComment+", body="+this.body+", ]"}}function findParentCommentFromDescriptor(A){var B=findComment(A);if(B==null){B=findLastCommentByAuthorName(A)}if(B==null){B=findLastCommentByPartialAuthorName(A)}return B}function parseCommentBody(B,F){B=trimString(B);var A=B.indexOf("@");if(A==0){var H=B.indexOf("\n",0);var G=B.indexOf("<",0);var D=H;if(G>0&&(G<D||D<0)){D=G}if(D>2){var O=B.substring(1,D);O=trimString(O);var K=findParentCommentFromDescriptor(O);if(K==null){var J=O.indexOf(" ");if(J>0){var N=trimString(O.substring(0,J));K=findParentCommentFromDescriptor(N);if(K!=null){D=J+1}}}if(K!=null){var P=null;var Q=D;var C=B.indexOf("@",Q+1);if(C>Q){var M=trimString(B.substring(C));P=parseCommentBody(M,C)}if(P&&P.length>0&&P[0].parentComment!=null){var L=trimString(B.substring(D,C));var I=new ParsedResult(K,L);var E=[I].concat(P);return E}else{var L=trimString(B.substring(D));var I=new ParsedResult(K,L);return[I]}return E}}}var I=new ParsedResult(null,B);return[I]}function buildComment(C,K,H,L,G,I,M,A){var F=findAuthor(C,K);if(!F){F=createAuthor(getNewAuthorId(),C,K);addAuthor(F)}var D=parseCommentBody(A,0);for(var J in D){var E="";E=D[J].body;E=trimBrsFromString(E);var B=createComment(H+"."+J,getNewCommentSequence(),L,F,I,M,E,G);addComment(B);if(D[J].parentComment!=null){D[J].parentComment.addChild(B)}}}function substituteConstant(A,D,C){var B=A;while(B.indexOf(D)>=0){B=B.replace(D,C)}return B}function substituteConstantIfValueExists(D,A,I,C,H){var J=D;var F=J.indexOf(A);var E=J.indexOf(I);while(F>0&&E>F){var B=J.substring(F,E+I.length);var G=null;if(H&&H.length>0){G=substituteConstant(B,C,H);G=G.substring(A.length,G.length-I.length)}else{G=""}J=J.replace(B,G);F=J.indexOf(A);E=J.indexOf(I)}return J}function isBlogAuthor(B){var A=false;if(window.BLOG_AUTHORS){for(var C in BLOG_AUTHORS){if(BLOG_AUTHORS[C]==B){A=true;break}}}else{if(window.BLOG_AUTHOR){A=(BLOG_AUTHOR==B)}}return A}function applyCommentTemplateToComment(F,E){var A=F;A=substituteConstant(A,"${COMMENT.ID}",E.id);A=substituteConstant(A,"${COMMENT.TIMESTAMP}",E.postedTime);A=substituteConstant(A,"${COMMENT.AUTHOR.NAME}",E.author.name);var C=(E.level>3)?"gt3":E.level;A=substituteConstant(A,"${COMMENT.LEVEL}",C);A=substituteConstantIfValueExists(A,"${COMMENT.AUTHOR.URL.EXISTS.START}","${COMMENT.AUTHOR.URL.EXISTS.END}","${COMMENT.AUTHOR.URL}",E.author.url);A=substituteConstant(A,"${COMMENT.AUTHOR.URL}",E.author.url);A=substituteConstant(A,"${COMMENT.DELETE.URL}",E.deleteUrl);A=substituteConstant(A,"${COMMENT.DELETE.TEXT}",E.deleteText);A=substituteConstant(A,"${COMMENT.BODY}",E.body);var D=isBlogAuthor(E.author.url)?"blog-author-comment":"blog-nonauthor-comment";A=substituteConstant(A,"${BLOG.AUTHOR}",D);A=substituteConstant(A,"${BLOG.POST.COMMENT.LINK}",BLOG_POST_COMMENT_LINK);var B=(E.deleted)?"deleted-comment":"";A=substituteConstant(A,"${COMMENT.DELETED.STYLE}",B);document.writeln(A)}function applyCommentTemplate(C){var D=getCommmentsInSortedOrder();for(var A in D){var B=D[A];applyCommentTemplateToComment(C,B)}}function setElementDisplay(B,C){var A=document.getElementById(B);if(A){A.style.display=C}}function setElementsDisplay(B,C){for(var A in B){setElementDisplay(B[A],C)}}function showElements(A){setElementsDisplay(A,"block")}function hideElements(A){setElementsDisplay(A,"none")}function showElement(A){setElementDisplay(A,"block")}function hideElement(A){setElementDisplay(A,"none")}function toggleElementDisplays(C,B,D){if(C.innerHTML=="[hide]"){for(var A in B){if(D[A]=="both"||D[A]=="hide"){hideElement(B[A])}}C.innerHTML="[show]"}else{for(var A in B){if(D[A]=="both"||D[A]=="show"){showElement(B[A])}}C.innerHTML="[hide]"}};// ]]>
    </script>



  2. Next you need add the css tyles for the comments section inside you <b:skin> section. Below is the one I am using in my blog:

    .comment-segment {
    margin-top: 10px;
    margin-right: 10px;
    }
    .comment-level-0 {
    margin-left: 10px;
    }
    .comment-level-1 {
    margin-left: 25px;
    }
    .comment-level-2 {
    margin-left: 40px;
    }
    .comment-level-3 {
    margin-left: 55px;
    }
    .comment-level-gt3 {
    margin-left: 70px;
    }
    .blog-author-comment {
    background-color: #F0F0BE;
    border: 1px solid #FFFF99;
    }
    .blog-nonauthor-comment {
    background-color: #B4C8F0;
    border: 1px solid #7296E2;
    }
    .deleted-comment {
    color: gray; font-STYLE: italic
    }
    .delete-comment-icon {
    background: url("http://www.blogblog.com/rounders3/icon_delete13.gif")
    no-repeat;
    }
    .comment-time {
    font-size: 80%;
    margin: inherit;
    padding-left: 10px;
    padding-bottom: 10px;
    }
    .reply-guide {
    background-color: #FFFFFF;
    border: #076a93 1px dotted;
    display: none;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 0.75em;
    padding-top: 5px;
    margin-right: 10px;
    margin-bottom: 10px;
    }
    .reply-guide-header {
    color: #076a93;
    padding-top: 10px;
    }
    .reply-guide-list {
    list-style: none;
    padding-left: 2px;
    margin-left: 2px;
    }
    .reply-guide-example {
    font-size: 85%;
    margin-right: 5px;
    margin-bottom: 10px;
    float: right;
    border: 1px dotted #076a93;
    padding: 5 5 5 5;
    }




  3. Lastly you need to insert the template for to render the threaded blog comments.
    You need to find the portion in your template responsible for rendering comment. In my template it started with:

    <b:includable id='comments' var='post'>
    <div class='comments' id='comments'>
    ...
    </div>
    </b:includable>


    I just replaced that <b:includable> with the following:


    <b:includable id='comments' var='post'>
    <div class='comments' id='comments'>
    <a name='comments'/>
    <b:if cond='data:post.allowComments'>
    <h4>
    <b:if cond='data:post.numComments == 1'> 1 <data:commentLabel/>:
    <b:else/><data:post.numComments/><data:commentLabelPlural/>:
    </b:if>
    </h4>

    <b:if cond='data:post.numComments > 0'>
    <!-- Include a post comment link before rendering the comments -->
    <p class='comment-footer'>
    <b:if cond='data:post.embedCommentForm'>
    <b:include data='post' name='comment-form'/>
    <b:else/>
    <b:if cond='data:post.allowComments'>
    <a expr:href='data:post.addCommentUrl'
    expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
    </b:if>
    </b:if>
    </p>
    </b:if>

    <!-- Loop through the comments adding the comment bodies in a hidden div -->
    <b:loop values='data:post.comments' var='comment'>
    <div style="display: none;" expr:id='"comment-body-" + data:comment.id' >
    <data:comment.body/>
    </div>
    </b:loop>
    <!-- Now create the comment using our javascript -->
    <script type="text/javascript">
    // USE THIS if YOU Have multiple Authors adding them in a comma separated form after removing the '//' from the next line
    // var BLOG_AUTHORS = ['http://www.blogger.com/profile/firstauthor', 'http://www.blogger.com/profile/secondauthor', 'http://www.blogger.com/profile/thirdauthor'];
    // Use this if you have just one author like this blog :)
    var BLOG_AUTHOR = 'http://www.blogger.com/profile/10301627897367423203';
    var BLOG_POST_COMMENT_LINK = '<data:post.addCommentUrl/>';

    var eCommentDelete = false;
    var eAuthorUrl = '';
    <b:loop values='data:post.comments' var='comment'>
    eCommentDelete = false;
    eAuthorUrl = '';
    <b:if cond='data:comment.authorUrl'>
    eAuthorUrl = "<data:comment.authorUrl/>";
    </b:if>
    <b:if cond='data:comment.isDeleted'>
    eCommentDelete = true;
    </b:if>

    buildComment("<data:comment.author/>", eAuthorUrl,
    "<data:comment.id/>", "<data:comment.timestamp/>", eCommentDelete,
    "<data:comment.deleteUrl/>", "<data:top.deleteCommentMsg/>",
    document.getElementById('comment-body-<data:comment.id/>').innerHTML);
    </b:loop>
    // <![CDATA[
    var eCommentTemplate = '' +
    '<div class="comment-segment comment-level-${COMMENT.LEVEL} ${BLOG.AUTHOR} ${COMMENT.DELETED.STYLE}" >' + '\n' +
    ' <a name="comment-${COMMENT.ID}"></a>' + '\n' +
    ' <span style="float: right; margin-right: 5px; " >' + '\n' +
    ' <a href="#" ' + '\n' +
    ' onclick="toggleElementDisplays(this, ' +
    '[\'comment-${COMMENT.ID}-body\', \'comment-${COMMENT.ID}-footer\', \'reply-guide-${COMMENT.ID}\'], ' +
    '[\'both\', \'both\', \'hide\']); return false;" >[hide]</a>' + '\n' +
    ' </span>' + '\n' +
    ' <span class="comment-author" >' +
    '${COMMENT.AUTHOR.URL.EXISTS.START}' +
    '<a href="${COMMENT.AUTHOR.URL}" rel="nofollow">' +
    '${COMMENT.AUTHOR.URL.EXISTS.END}' +
    '${COMMENT.AUTHOR.NAME}' +
    '${COMMENT.AUTHOR.URL.EXISTS.START}' +
    '</a>' +
    '${COMMENT.AUTHOR.URL.EXISTS.END}</span>' + '\n' +
    ' said... ' + '\n' +
    ' <div id="comment-${COMMENT.ID}-body" class="comment-body" ><p>${COMMENT.BODY}</p></div>' + '\n' +
    ' <span class="comment-time">on ${COMMENT.TIMESTAMP}</span>' + '\n' +
    ' <div id="reply-guide-${COMMENT.ID}" class="reply-guide comment-level-0 " >' + '\n' +
    ' <span style="float: right;" ><a href="#" onclick="hideElement(\'reply-guide-${COMMENT.ID}\'); return false;" >[hide]</a></span>' + '\n' +
    ' <h4 class="reply-guide-header">How to Reply to this comment</h4>' + '\n' +
    ' <span>' + '\n' +
    ' To reply to this comment please ensure that <b>one</b> of the following lines: ' + '\n' +
    ' <ul class="reply-guide-list">' + '\n' +
    '<li>@${COMMENT.ID}</li>' + '\n' +
    '<li>@${COMMENT.AUTHOR.NAME}</li>' + '\n' +
    ' </ul>' + '\n' +
    ' is the <b>first line</b> of your comment. ' + '\n' +
    ' <br />' + '\n' +
    ' <a href="${BLOG.POST.COMMENT.LINK}"' + '\n' +
    ' >Click here to enter your reply</a>' + '\n' +
    ' </span>' + '\n' +
    ' </div>' + '\n' +
    ' <div id="comment-${COMMENT.ID}-footer" class="comment-footer">' + '\n' +
    ' <span><a ' +
    'href="#" onclick="showElement(\'reply-guide-${COMMENT.ID}\'); return false;" >Reply</a></span> ' + '\n' +
    ' <span><a href="#comment-${COMMENT.ID}">Permalink</a></span> ' + '\n' +
    ' <span><a href="${COMMENT.DELETE.URL}" title="${COMMENT.DELETE.TEXT}" style="text-decoration: none;" ><span class="delete-comment-icon"> </span></a></span>' + '\n' +
    ' </div>' + '\n' +
    '</div>' + '\n';

    applyCommentTemplate(eCommentTemplate);
    // ]]>
    </script>
    <p class='comment-footer'>
    <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
    </p>
    </b:if>
    <div id='backlinks-container'>
    <div expr:id='data:widget.instanceId + "_backlinks-container"'>
    <b:if cond='data:post.showBacklinks'>
    <b:include data='post' name='backlinks'/>
    </b:if>
    </div>
    </div>
    </div>
    </b:includable>



Remember to replace the
var BLOG_AUTHORS = 
['http://www.blogger.com/profile/firstauthor',
'http://www.blogger.com/profile/otherauthor'];
OR
var BLOG_AUTHOR = 'http://www.blogger.com/profile/onlyauthor';
segment with your appropriate profile url(s).

A sample blogger template is also available in case you want to skip some of the work.

Future work:
Unfortunately the way blogger comments need to be posted it is the responsibilty of the user now to include a @replyTarget line to the top of her comment. Once blogger supports inline comment forms completely (currently it is available only in draft mode) it will be possible to relieve the user of this task and use javascript to auto insert the @replyTarget line into the form.

Feel free to use this in your blogs and let me know your thoughts/bugs you find while using this :)

--

260 comments :

[hide] Shams said...

This is the first comment

on July 13, 2008 at 9:51 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @9059944098083549367.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

and this is a reply to the first comment

on July 13, 2008 at 9:52 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6743121676659242552.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

Nice idea

on July 14, 2008 at 12:21 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @834077488923980579.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

Thanks

on July 14, 2008 at 10:30 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4903092698684210478.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

hi bro nice idea, blog annotation ;)
why not support annotation argument such as -
@shams(type: THUMBSUP)

on July 14, 2008 at 9:34 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8889775827250021372.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

Ya nice idea, will definitely look to implement it :). Keep the ideas coming.

on July 15, 2008 at 10:58 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8635009252255992332.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

Btw, currently the script will stop indentation after 5 levels, all following messages will then have the same indentation :)

on July 15, 2008 at 11:05 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2895109421560867027.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

test reply

on December 10, 2008 at 9:31 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1819563388499836138.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

Wow, this is great. thank you! i haven't tried it myself but i definitly would :D

on March 17, 2009 at 1:37 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1168215556121240048.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

you're welcome :)

on March 17, 2009 at 3:50 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @695988615176818231.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

test

on December 10, 2008 at 9:29 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7514489167435189586.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] sdfd said...

i think dis is yew...

on December 3, 2009 at 4:14 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8922211611971451972.0
  • @sdfd
is the first line of your comment.
Click here to enter your reply
[hide] Seri said...

on September 24, 2010 at 2:05 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6257249291235007289.0
  • @Seri
is the first line of your comment.
Click here to enter your reply
[hide] Lamayuda's Mind said...

just test

on September 25, 2010 at 12:10 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @425333080825283294.0
  • @Lamayuda's Mind
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

Interesting read! Nice feature.

on July 14, 2008 at 12:17 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4522023553881539953.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Tony K said...

Nice

on May 1, 2010 at 1:56 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4785613542923254959.0
  • @Tony K
is the first line of your comment.
Click here to enter your reply
[hide] Jeremy Martin said...

Great work! I like how you also allow the user to specify the comment ID - this definitely helps solve ambiguity when there are multiple comments by the same author.

on July 14, 2008 at 7:12 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3759711198221758238.0
  • @Jeremy Martin
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

Yup, the @authorName works properly only if you reply before that author has posted another message :). The @commentId will work always :)

on July 15, 2008 at 10:53 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2064663356834707338.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Jena said...

Wonderful--just what I was looking for! Except that it's been years since I played with code, and I can't find where the last part of your code should go in my template. How does one locate the code responsible for rendering the comments?

on July 30, 2008 at 9:41 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1533547858665470123.0
  • @Jena
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

Firstly the template should end with </body></html>
The other parts have come due to some bug in google site upload mechanism, cant get rid of it.

Secondly, code responsible for rendering the comments are the commnt template and the call to render the comments:

var eCommentTemplate = '' + ...;
applyCommentTemplate(eCommentTemplate);


Hope this helps, feel free to ask if you have more queries.

on July 30, 2008 at 10:01 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5356301081942024316.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Jena said...

thanks, but I don't know how to apply that; I still don't understand where to put your step 3 in my template html. how do I figure that out?

on July 31, 2008 at 1:05 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1615328872192850654.0
  • @Jena
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

You need to find (using your word processor like notepad) the following in your template:
<div class='comments' id='comments'>
...
<div>

I've seen a page at http://musebookreviews.blogspot.com/2008/07/book-thief-by-markus-zusak.html and I know that your template contains such a segment.
You just need to replace the inside of the div segment as mentioned in step there here

on July 31, 2008 at 8:48 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3137277027301096621.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Jena said...

Again, thank you, but you were looking at the code for a specific entry in my blog. I can't find that code string you told me to find in the html for the general blog template. I searched for the line as you typed it (no results), then I searched for "comments", "div", and "id" and found nothing that even resembles "div class='comments' id='comments'". Could you take another look?

(Sorry to be such a hassle.)

on July 31, 2008 at 10:12 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @553546940629169511.0
  • @Jena
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

I would be glad to help you out (no hassles ;) )
Do you think you can send me your blogger template where I can have a look at shamsDOTmahmoodATgmailDOTcom
Remember to replace the uppercase words :)

on July 31, 2008 at 8:08 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2751260339847868122.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] HK said...

This is great! Thank you so much for providing this-- works like a charm :-)

I have, however, noticed that it's slightly buggy on mine-- the next person to comment propagates his URL-- everyone who has posted before him now has their name hyperlinked to either his manually-entered URL (via the Name/URL option) or his blogger profile (if logged in).

Obviously, this isn't happening on your blog :) Do you happen to have any ideas of why this is happening? Thanks!!

on August 2, 2008 at 6:26 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2594583662539014465.0
  • @HK
is the first line of your comment.
Click here to enter your reply
[hide] HK said...

Thanks for the help!

When I first pasted in the code from your blog, there was a missing closing tag for that loop right before buildComment(), blogger complained about it when I tried to save my template. I didn't know where it was supposed to close, so obviously, I put the closing tag in the wrong place ;-)

And I could've sworn I changed the BLOG_AUTHOR value to my profile, but I guess I must've accidentally reverted to an older version through my many change iterations.

Thank you again, I appreciate it! With this feature, everything I want in a blogging service is on blogger :-D

on August 2, 2008 at 8:53 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1627340252539063364.0
  • @HK
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

you're welcome, glad I could be of help.

on August 2, 2008 at 8:59 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2022908189532734788.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] 油枣 said...

test~

on May 1, 2009 at 5:37 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @308451524919904252.0
  • @油枣
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

@Helly

Firstly, you are welcome.

Found the problem, you seem to have a loop running inside to generate the author url just before the call to buildComment(...). As a result the author url is always set to the last persons url. Found it by looking at the generated source. You will see so many assignments to eAuthorUrl before a call to buildComment(...)
I think there is an additional b:loop for comment during the author url generation

Also you need to correct the value for BLOG_AUTHOR

on August 2, 2008 at 8:39 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5105985435642752305.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Mildawg said...

This is an awesome thing. I have been searching for something like it - one of the only things I don't like about blogger.

One thing - would it be possible to somehow modify the code to allow e-mail notifications for specific replies only? I can't seem to figure out how.

on September 3, 2008 at 11:42 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1653775605439001736.0
  • @Mildawg
is the first line of your comment.
Click here to enter your reply
[hide] Reza said...

This comment has been removed by the author.

on September 21, 2008 at 5:42 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2665557917818008678.0
  • @Reza
is the first line of your comment.
Click here to enter your reply
[hide] Reza said...

Really nice !

on September 21, 2008 at 5:45 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5994544424898415917.0
  • @Reza
is the first line of your comment.
Click here to enter your reply
[hide] Cathy Laine said...

i'm really having a problem with your script... error message keeps coming back: b:widget should have a matching closing tag..

on October 29, 2008 at 12:26 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2728409031813358307.0
  • @Cathy Laine
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

Hi, if you can mail me the template you are trying I can fix it for you. Probably missing a closing tag somewhere.

on October 29, 2008 at 8:11 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2820926683448603892.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] HK said...

Just FYI, I had this exact same problem, too, so I believe the closing tag is also missing from the code you're having us copy and paste.

From my earlier comment here, this is where it's missing:

"there was a missing closing tag for that (generate author url) loop right before buildComment()"

On a side note-- months later I'm still chugging along just fine with my blog, still enjoying nested comments. Thank you again! :)

on October 29, 2008 at 9:32 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7100338305889395644.0
  • @HK
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

ur welcome. great to hear it is working just as good for you.

I think I fixed that error in the post after u mentioned it last time. So not sure if brazen lass is facing the same problem :(

Btw, I'll be updating some of the code in early decemeber-be sure to check the latest version.

on October 29, 2008 at 11:33 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8426304633419750796.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

@1918712194294963016.0

To reply please follow the instructions ;)

on November 3, 2008 at 9:43 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7087314249679398913.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Jerrad said...

@Jerrad

test

on November 10, 2008 at 9:48 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2726798342628193381.0
  • @Jerrad
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

this should work :)

on November 10, 2008 at 10:13 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8515075743756693966.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Jerrad said...

@albachtimi

THIS is the reply.

on November 10, 2008 at 11:21 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7334029187747219918.0
  • @Jerrad
is the first line of your comment.
Click here to enter your reply
[hide] Jerrad said...

You say: "Once blogger supports inline comment forms completely (currently it is available only in draft mode) it will be possible to relieve the user of this task and use javascript to auto insert the @replyTarget line into the form."

So how do you go about using javascript to auto insert the replyTarget? Is it at all possible to insert it after the user clicks the Post button so that they never even have to see the replyTarget line?

on November 11, 2008 at 6:50 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4315415387185050461.0
  • @Jerrad
is the first line of your comment.
Click here to enter your reply
[hide] HK said...

I think what he means is that once this features becomes built-in... in Blogger itself, we won't have to manually copy and paste those @replyTarget tags anymore, like I did just now. We won't have to insert Shams' code into our template.

Kind of like on Myspace blogs, or LiveJournal-- each individual comment has a "reply to this" link that you can simply click on, type in your stuff, post it, and voila! It's automatically put in the right spot. Which... I think is exactly what you are describing, and what Shams says is currently under development on Blogger itself.

on November 11, 2008 at 6:57 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3919046153660555939.0
  • @HK
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

Actually Helly, I was referring to using javascript have insert the @target into the comment when the form is submitted. I'm not sure whether blogger is developing the reply feature like in myspace or other sites.

on November 11, 2008 at 7:13 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @205231604208183219.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Jerrad said...

I thought he was referring to the embedded comment form that appears at the bottom of the blog page (i.e. you don't have to go to a separate comment page to leave a comment).

I've been playing with his code and was able to make the comment form appear under the individual comment when the Reply link is clicked, but without being able to somehow automatically insert the replyTarget, it's not really useful. It was not immediately obvious to me how I might do that, hence my original question.

Did I misunderstand what was meant by "inline comment form"?

on November 11, 2008 at 7:23 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3582927520688203209.0
  • @Jerrad
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

Try attaching a javascript onsubmit event to your comment form. And inside it prepend the @replyTarget with a newline to the comment

on November 11, 2008 at 7:45 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4066108653788660218.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Jerrad said...

The inline comment "form" looks like this: http://h1.ripway.com/jerrade/comment-form.gif (it won't let me post a snippet here).

Am I allowed to add an event handler somewhere in there? There is no Form element to work with, and I don't get direct access to the submit button.

on November 11, 2008 at 8:29 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5081160586838473920.0
  • @Jerrad
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

The form element is present inside the iframe. You need to attach the event handler to that form.

This link might come in handy:
http://www.michaelminella.com/javascript/unobtrusive-event-handling-with-prototype.html

on November 11, 2008 at 10:05 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3449125083391034844.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Jerrad said...

Thanks for your help.

When I try to access the form in the iframe (document.getElementById('comment-editor').contentDocument.forms), I get a permission denied error. From what I've read, I'm assuming this is because the source of the iframe is at www.blogger.com/..., and my page is at blogspot.com. Apparently you get an error if the domains don't match. So close, yet so far...

on November 12, 2008 at 1:21 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8993855824843063205.0
  • @Jerrad
is the first line of your comment.
Click here to enter your reply
[hide] Jerrad said...

I can view all the objects in Firebug, but when I try to access them in code, I get the access denied error.

on November 12, 2008 at 1:38 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2429126451870381326.0
  • @Jerrad
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

that's bad news :(
need to keep using the @target then

on November 12, 2008 at 4:10 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1295918442915425102.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] jumco said...

I am having a problem where posts with zero comments cannot be commented upon, while those with at least one post, the system works perfectly. Please help.

on December 4, 2008 at 2:09 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6128245986029019117.0
  • @jumco
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

can you mail me your template?
I think you have misplaced the comment-form in your template.

on December 4, 2008 at 3:36 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3180673683873693491.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] jumco said...

sent

on December 4, 2008 at 4:08 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8017070652894466536.0
  • @jumco
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

and replied ;)

on December 4, 2008 at 4:31 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1775245943534709847.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

you should be able to see 'sent' now after fix :D

on December 18, 2008 at 3:53 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6881928102828519325.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] jumco said...

All fixed. Thanks!

on December 4, 2008 at 4:39 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3928141837922347330.0
  • @jumco
is the first line of your comment.
Click here to enter your reply
[hide] Renee said...

I'm having the same problem. Is there an easy fix?

on February 25, 2009 at 8:25 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7176121292020168690.0
  • @Renee
is the first line of your comment.
Click here to enter your reply
[hide] Renee said...

Here's the blog in question:

http://srknipe.blogspot.com/2009/02/debatable_8500.html#comments

on February 25, 2009 at 8:33 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5866824772055629732.0
  • @Renee
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

Excerpt from solution for jumco's problem:

I think I found the problem :)


<b:if cond='data:post.numComments > 0'>
<!-- Include a post comment link before rendering the comments -->
<p class='comment-footer'>
<b:if cond='data:post.embedCommentForm'>
<b:include data='post' name='comment-form'/>
<b:else/>
<b:if cond='data:post.allowComments'>
<a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
</b:if>
</b:if>
</p>
</b:if>

The first if condition is stating that enter only if there are more than zero comments.
Inside the b:if you have the code (<b:include data='post' name='comment-form'/>)
to render the comment form. Hence when you have zero comments you never get to see
the comment form :).

Please try fixing this and let me know if you face more problems. I would remove the
outermost b:if unless you have some other reason for having it.

on February 25, 2009 at 8:38 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2160429161847352407.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Renee said...

What a strange piece of code. Anyway, it seems to be working now...thank you!

on February 25, 2009 at 9:01 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @419914340576337657.0
  • @Renee
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

great and you're welcome ;)

on February 25, 2009 at 9:09 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @181054622816744496.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

Fixed a small bug.
The javascript changed from: if(G==H-A.length)
to: if(G>=0&&G==H-A.length)

Updated the post and sample template too

on December 18, 2008 at 3:52 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4424145173940721157.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

Oke BOZ!!!

on January 21, 2009 at 2:38 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4834084190819478527.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

this is very goodS!!

on January 21, 2009 at 2:42 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5136690813210216030.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Eden said...

Very fun!

on February 12, 2009 at 7:42 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @260891165009178045.0
  • @Eden
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

testing comment

on February 17, 2009 at 12:51 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7312915167044764031.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

test

on February 2, 2009 at 10:23 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5910756556062608261.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

good idea

on February 16, 2009 at 3:54 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @403540695286703354.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Jack said...

Oooo, ooo, I've been looking for something like this for weeks.

Works! Thanks!

on February 5, 2009 at 2:29 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6527106595476256893.0
  • @Jack
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

you're welcome

on February 5, 2009 at 4:22 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1702433990012692183.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

It´s working! ;)

I have one problem, the function moderate comments is always on but it dosent work with nested comments. Can you please help me??

on March 5, 2009 at 1:06 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @449293363742347380.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

any links where I can see this in action?

on March 5, 2009 at 8:53 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @9054941589317747050.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

http://dkqa.blogspot.com/

on March 6, 2009 at 2:15 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4272859838822686390.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

I just checked the moderated comments and it worked for me. Moderated comments don't appear unless you have published them from blogger.

on March 15, 2009 at 11:02 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8404465770924265960.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

testing comment

on February 17, 2009 at 12:51 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7312915167044764031.1
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Divan Semesta said...

great! thanks!

on February 18, 2009 at 7:27 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4429064884299508920.0
  • @Divan Semesta
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

Added support for multiple blog authors using the BLOG_AUTHORS variable.

on March 15, 2009 at 11:44 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7144695846286574966.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Kiubrubik said...

This threaded comments has a problem with embedded below post. Malaysian blogger really like you tutorial, superb.

ps : sorry for my bad english.

on March 25, 2009 at 7:19 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6832316647655034521.0
  • @Kiubrubik
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

thanks for including a translation on your site.

on March 30, 2009 at 7:29 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4820654208956110963.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

@7095665167903013616.0

firstly, you're welcome.

great to hear you're using it too. I've also change the reply instruction as you've done on your site. Also notified blogger buster - that was a very nice idea.

One way to skip the problem of tracking comments is to provide two toggling views: threaded and non-threaded. You can toggle visibility of those two sections depending on what the user wants to see.

Dilarang Melarang appears to be a very popular blog and many thanks to Marzuki to including a translation of this article in his blog. Best of luck with your post and thanks in advance for the credits. :D

on March 30, 2009 at 7:28 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6539674616857593287.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Grace said...

Hi Shams, thanks so much for posting this! it was super useful

I've been looking everywhere for a way to thread comments - was almost going to sign up for Intense Debate but didn't really like the idea of it handling my blogger comments

Cheers :)

on April 2, 2009 at 7:04 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6693989500221201642.0
  • @Grace
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

you're welcome. glad you found it useful :)

on April 3, 2009 at 6:28 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @426117914415788953.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Amoi said...

This comment has been removed by the author.

on April 3, 2009 at 2:08 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6533931511853713213.0
  • @Amoi
is the first line of your comment.
Click here to enter your reply
[hide] Amoi said...

http://rojakstory.blogspot.com/2008/09/weewoo.html

can you see that post.
my comment form do not appears if thera are no comments yet.

data:post.numComments 0'

I already change the number 0 to 1 but it do not work on my blog.

can you fix it for me?

sorry for my bad english but i hope you understand.

on April 3, 2009 at 3:46 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1338987539175743349.0
  • @Amoi
is the first line of your comment.
Click here to enter your reply
[hide] Amoi said...

i already add you on google talk,
later i will send you my templet to you,
thank you

on April 4, 2009 at 7:07 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8886652365203711650.0
  • @Amoi
is the first line of your comment.
Click here to enter your reply
[hide] Amoi said...

I already done a tutorial what you teach me yesterday and also your blog has been credit from me.

thanks for fix it up!

on April 5, 2009 at 11:57 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7607003383623395197.0
  • @Amoi
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

great. thanks

on April 5, 2009 at 8:52 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4260788667860687597.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] limferdi said...

nice one!

on April 13, 2009 at 7:27 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2902986709948339625.0
  • @limferdi
is the first line of your comment.
Click here to enter your reply
[hide] Grace said...

Hi Shams, again thanks for your threading comments script!

But I also have the same problem - when I write a new post, the embedded 'post comment' box doesn't show up because there are 0 comments

I tried reading your solution, and found the data:post.numComments html

From the solution - "The first if condition is stating that enter only if there are more than zero comments."

I understand that - but what is the code that I should replace it with to allow comments even when there are zero?

on April 7, 2009 at 7:25 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7785187627691572051.0
  • @Grace
is the first line of your comment.
Click here to enter your reply
[hide] Grace said...

Shams, I've worked it out
cheers anyway!

on April 7, 2009 at 7:32 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2976353124188089704.0
  • @Grace
is the first line of your comment.
Click here to enter your reply
[hide] Kiubrubik said...

another problem i found.

http://dilarangmelarang.com/2009/01/siapa-nak-rekues-tutorial-dipersilakan.html

i can't open certain page in my blog, then my firefox got the problem.

on April 11, 2009 at 11:19 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8826812674614874529.0
  • @Kiubrubik
is the first line of your comment.
Click here to enter your reply
[hide] Timo said...

@Asma
myTest

on April 22, 2009 at 2:53 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2246078991259425704.0
  • @Timo
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

MY TEST

on April 17, 2010 at 10:10 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8694770576082228797.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

MY TEST

on April 17, 2010 at 10:13 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4410306151461366040.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Old Holborn said...

Test from OH

on June 9, 2010 at 10:51 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7431661451779037879.0
  • @Old Holborn
is the first line of your comment.
Click here to enter your reply
[hide] Adrian.Koh said...

nice!!!
Thank you!

on April 22, 2009 at 3:27 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4513555977465276601.0
  • @Adrian.Koh
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

Sham, this is exactly what I need - threaded blog - thank you very much. But I am quite new to the whole coding thing and I got a little bit lost with all the updates and changes to the original code that you suggest I paste into my code ... would it be possible for you to publish somewhere the complete new version of what needs to be pasted and 'update' your great tutorial?
Thank you.

on April 30, 2009 at 9:31 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4351061189906659808.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

What exactly would you like updated?
The sample template is already up to date. You can mail me if you have more questions.

on May 1, 2009 at 10:22 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @682350543490136617.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

Hello Shams, thank you very much for your quick reply - I would like to e-mail you but can't find your address anywhere - so I'll ask here again - in step 1 and 2 - do I need to only paste the new code into do old one or do I need to replace some of the original code? Thank you

on May 2, 2009 at 6:14 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4082570489353227158.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

you need to add them

my gmail acct. is mentioned here in the comments section and also there on the profile page ;)

on May 2, 2009 at 6:43 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @528199166242996135.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] The Teapot said...

I'm having the same problem!

on May 12, 2009 at 3:44 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5628064076167416586.0
  • @The Teapot
is the first line of your comment.
Click here to enter your reply
[hide] 油枣 said...

sorry,i can't install the Threaded Comments in my Blogger
Can u help me?

on May 1, 2009 at 5:40 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4730520388212502803.0
  • @油枣
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

Hello Shams, thank you very much for your quick reply. I would like to e-mail you but can't find your address anywhere - so I'll ask here again - in step 1 and 2 - do I need to just paste the code or do I need to replace some of the original code? Thank you

on May 2, 2009 at 6:12 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3469752249933906741.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Fina Sophie said...

test

on May 3, 2009 at 1:51 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4938252068590343454.0
  • @Fina Sophie
is the first line of your comment.
Click here to enter your reply
[hide] Mrs. Gager said...

I'd like to include these super-cool threaded comments, but have zero coding experience. I thought I'd just copy-paste the template into mt "Edit HTML" box (after deleting the old code), and it says "Your template could not be parsed as it is not well-formed. Please make sure all XML elements are closed properly.
XML error message: XML document structures must start and end within the same entity." What now?

on May 12, 2009 at 7:23 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5532127514765128767.0
  • @Mrs. Gager
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

if you email me ur template I can have a look and find out what's wrong

on July 4, 2009 at 5:31 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1490458180414381879.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Arif said...

Future work:
Unfortunately the way blogger comments need to be posted it is the responsibilty of the user now to include a @replyTarget line to the top of her comment. Once blogger supports inline comment forms completely (currently it is available only in draft mode) it will be possible to relieve the user of this task and use javascript to auto insert the @replyTarget line into the form.
I think that Blogger now supports inline comment forms. Can you provide us the code of javascript to auto insert the @replyTarget line into the form?

on May 13, 2009 at 3:42 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1876802296849921081.0
  • @Arif
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

unfortunately embedded comments form is loaded in an iframe from another domain (blogger.com). Hence you cannot have javascript from your blog execute to fill in the comment form.

on July 4, 2009 at 5:32 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1615926505428582764.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] @LiYaNNuaR ツ said...

got problem... do know how to solve it...

A script on this page may be busy, or it may have stopped responding. You can stop the script now, or you can continue to see if the script will complete.

Script: http://jariketot.blogspot.com/2009/05/overload.html:156

on May 15, 2009 at 7:13 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1362828315752721699.0
  • @@LiYaNNuaR ツ
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

sorry for the late reply, have been busy lately. I'm going to rewrite the parsing script soon and hopefully will be able to fix any issues.

on July 4, 2009 at 5:33 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4448540332385848846.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Prateek said...

Not working for me....

on June 9, 2009 at 7:15 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3661580091854696996.0
  • @Prateek
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

what is the error you're facing?

on July 4, 2009 at 5:35 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7759725075180480634.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Unknown said...

Can you only nest your comments on the newest reply?

on July 2, 2009 at 12:51 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1210939337916896979.0
  • @Unknown
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

if you use the @ with the numbers it appends to appropriate post. If you use @ with names it will append to the last reply from the user

on July 4, 2009 at 5:34 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6714047375591050222.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Unknown said...

@Prateek test

on July 2, 2009 at 12:58 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1693617361543734057.0
  • @Unknown
is the first line of your comment.
Click here to enter your reply
[hide] Prateek Singla said...

I am getting the error below-
Your template could not be parsed as it is not well-formed. Please make sure all XML elements are closed properly.
XML error message: Element type "F" must be followed by either attribute specifications, ">" or "/>".

on July 4, 2009 at 9:46 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8051804985292103472.0
  • @Prateek Singla
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

Interesting, but how do you sort?

on July 24, 2009 at 6:03 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4347811976782166786.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

sort what?

on July 24, 2009 at 10:17 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1128742896472532914.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

@6714047375591050222.0 append

on July 24, 2009 at 6:08 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8870918564448544166.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

append

on July 24, 2009 at 10:16 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @616073907484348543.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] zixol said...

try satu

on December 6, 2009 at 11:06 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2923940294970228341.0
  • @zixol
is the first line of your comment.
Click here to enter your reply
[hide] Kaushik said...

Hi Shams!
Thanks a ton for your thoughtfulness! Nested comments was something I've really missed in blogger for quite some time. Your template worked great, albeit I had to find my way around with the code. :)
Anyways, I have 3 requests -
1. How can I enable threaded comments in the pop-up comments window? As of now, I see that threaded comments appear only in each post page.
2. I would like to increase the space around the "Reply" and "Permalink" at the bottom of each comment. Mainly add an extra empty line after them, it'd also help if I can increase the font size of "Reply" and "Permalink". I tried adding an extra + '\n' after the "reply" and "Permalink" tags, but it kind of screwed up the entire comments formatting.
3. I haven't had time to look into it, but I'm lazy, so can you just point to where I can change the bg color for the comments?

Thanks a ton again Shams! Great work!

Kaushik

on August 19, 2009 at 9:13 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8123417577358310999.0
  • @Kaushik
is the first line of your comment.
Click here to enter your reply
[hide] Kaushik said...

I was able to figure out how to change the bgcolor of the comments. :)
If you can just help me figure out the other two, it'd be great.

on August 20, 2009 at 1:45 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @514257513372363949.0
  • @Kaushik
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

1. How can I enable threaded comments in the pop-up comments window?
You need to modify your template to place the comments in a div and then use some javascript library like jQuery to display it in a modal.

2. I would like to increase the space around the "Reply" and "Permalink" at the bottom of each comment.
Again modify your blogger template :)

Hope that helps.

on August 24, 2009 at 1:03 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7115481941229069251.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] mizz aisah said...

I am having a problem where posts with zero comments cannot be commented upon, while those with at least one post, the system works perfectly. Please help.

on September 3, 2009 at 3:29 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8333255711589272929.0
  • @mizz aisah
is the first line of your comment.
Click here to enter your reply
[hide] Angie's Recipes said...

I used magazine template, and the threaded comment seemed not to work....
The final part....I don't know where in my blog template to insert the code.

Can you help please??
here is my blog add: http://angiesrecipes.blogspot.com

on September 11, 2009 at 10:03 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4946736574303501030.0
  • @Angie's Recipes
is the first line of your comment.
Click here to enter your reply
[hide] Azroy Bin Azlan said...

please update with avatar

on September 19, 2009 at 1:47 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @66457485721444681.0
  • @Azroy Bin Azlan
is the first line of your comment.
Click here to enter your reply
[hide] Angie's Recipes said...

@Angie's Recipes: help?

on September 24, 2009 at 12:01 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4749887704896072561.0
  • @Angie's Recipes
is the first line of your comment.
Click here to enter your reply
[hide] ibu wawa said...

Thanks for yor information. I want try it.

on October 17, 2009 at 11:16 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4041247078627177205.0
  • @ibu wawa
is the first line of your comment.
Click here to enter your reply
[hide] ibu wawa said...

I can do this tutorial. I was very happy but how can I change the colour of box between my friends' comment and my comments? I mean different colour between two box. Thanks Shams.

on October 17, 2009 at 11:57 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2101591501034671873.0
  • @ibu wawa
is the first line of your comment.
Click here to enter your reply
[hide] D.R. Cootey said...

@Shams Very slick. Has this stood up well over time?

on October 22, 2009 at 5:28 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2582013873173143637.0
  • @D.R. Cootey
is the first line of your comment.
Click here to enter your reply
[hide] D.R. Cootey said...

Not like twitter, I guess. It needs to be alone on its own line.

on October 22, 2009 at 5:30 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5417683570686955205.0
  • @D.R. Cootey
is the first line of your comment.
Click here to enter your reply
[hide] Unknown said...

Nice

on November 17, 2009 at 4:34 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8508519695228846971.0
  • @Unknown
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

yeah.. strange thoughts :)

on December 12, 2009 at 2:08 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6428644419047548458.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] 1Malaysia Online 2014 said...

Hi Shams,

Can we put avatar in this threaded comments

on December 19, 2009 at 3:01 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3441532992005374869.0
  • @1Malaysia Online 2014
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

I'll need to update the script to support avatars. I've been wanting to update the script but just havent been getting any time :(
Hopefully will turn out a new version in the new year.

on December 19, 2009 at 4:54 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @454684489614913455.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

Good Day!!! shamsmi.blogspot.com is one of the best informational websites of its kind. I take advantage of reading it every day. shamsmi.blogspot.com rocks!

on December 30, 2009 at 8:06 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1595234334949364758.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

I want to quote your post in my blog. It can?
And you et an account on Twitter?

on January 7, 2010 at 11:08 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1187842100240547177.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Blog Senoaji said...

hmmmm

on January 12, 2010 at 6:11 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8406013821047026314.0
  • @Blog Senoaji
is the first line of your comment.
Click here to enter your reply
[hide] Blog Senoaji said...

@Shams

on January 12, 2010 at 6:19 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7106388790966799594.0
  • @Blog Senoaji
is the first line of your comment.
Click here to enter your reply
[hide] Alex said...

Nice work! Thanks a lot!!!

on January 13, 2010 at 6:56 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4758639180850897694.0
  • @Alex
is the first line of your comment.
Click here to enter your reply
[hide] Alex said...

I wonder if it is somehow possible to automatically hide long threads and leave only the first comment in that long thread expanded, like in LiveJournal. Also, is there a way to reply from within the email notification?

on January 13, 2010 at 7:20 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8102013858042989379.0
  • @Alex
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

Hiding the comments can be done through javascript (though this one doesn't do it yet :) )

Auto replying from e-mail is a feature blogger will have to support, don't think it does support it currently.

on January 13, 2010 at 9:16 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7904757628036297589.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Alex said...

@ Shams thanks for the quick reply. When you have the time could you tell what the code to hide comments is? Also, is there a way to enable pagination? And lastly, what's the way, if any, to insert the inline commets form directly after hitting the reply button? thanks!

on January 15, 2010 at 2:09 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1212651725208794855.0
  • @Alex
is the first line of your comment.
Click here to enter your reply
[hide] Beben Koben said...

hmmm...by the way
if we're used this hack...any some hack not work.
Like : emoticon on comment, and that delete for comment not worked, number and bubble number on comment no work too.
but is one good hack.

on January 17, 2010 at 3:39 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4463398862501211695.0
  • @Beben Koben
is the first line of your comment.
Click here to enter your reply
[hide] Beben Koben said...

may be you forget add saids for delete in
<span><a href="${COMMENT.DELETE.URL}" title="${COMMENT.DELETE.TEXT}" style="text-decoration: none;" >.........here......<span class="commentDeleteIcon"></span></a></span>

on January 17, 2010 at 3:53 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7021546424891813425.0
  • @Beben Koben
is the first line of your comment.
Click here to enter your reply
[hide] Beben Koben said...

this your hack for old comment right?
i am confuse to add in new comment methode

on January 17, 2010 at 5:18 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4734810187819844986.0
  • @Beben Koben
is the first line of your comment.
Click here to enter your reply
[hide] MbahDoyok said...

mantap mas

on January 17, 2010 at 10:45 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7709295990604509871.0
  • @MbahDoyok
is the first line of your comment.
Click here to enter your reply
[hide] MbahDoyok said...

@mas doyok
sip banget

on January 17, 2010 at 10:46 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7746276359433318036.0
  • @MbahDoyok
is the first line of your comment.
Click here to enter your reply
[hide] MbahDoyok said...

i like it

on January 17, 2010 at 11:17 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1007587632496062608.0
  • @MbahDoyok
is the first line of your comment.
Click here to enter your reply
[hide] MbahDoyok said...

ben... i like it too

on January 17, 2010 at 11:18 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2857315213697757393.0
  • @MbahDoyok
is the first line of your comment.
Click here to enter your reply
[hide] afriandi said...

reply :D

on February 3, 2010 at 4:56 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3142191163411293655.0
  • @afriandi
is the first line of your comment.
Click here to enter your reply
[hide] Unknown said...

Hi, I just embedded this into my blog.

However, my comment box is above my comments. Any ideas? :)

on February 12, 2010 at 10:10 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5018401899627232582.0
  • @Unknown
is the first line of your comment.
Click here to enter your reply
[hide] Shams said...

It is difficult to say without looking at your template. I think you have duplicated the comments section. So you have both the threaded comments part and your old comment part - hence both are showing up.

on February 12, 2010 at 7:54 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @735663642490094732.0
  • @Shams
is the first line of your comment.
Click here to enter your reply
[hide] Samson said...

Testing reply

on February 27, 2010 at 12:31 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5086148716382759770.0
  • @Samson
is the first line of your comment.
Click here to enter your reply
[hide] Seri said...

testing =D

on September 24, 2010 at 2:05 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6257249291235007289.1
  • @Seri
is the first line of your comment.
Click here to enter your reply
[hide] Fumehead said...

Just testing to see where this will end up.

on March 10, 2011 at 1:47 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3872003048675795372.0
  • @Fumehead
is the first line of your comment.
Click here to enter your reply
[hide] Unknown said...

Test comment

on February 23, 2010 at 1:12 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6311714232325563732.0
  • @Unknown
is the first line of your comment.
Click here to enter your reply
[hide] Unknown said...

Reply comment

on February 23, 2010 at 1:12 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7473285006358113753.0
  • @Unknown
is the first line of your comment.
Click here to enter your reply
[hide] Unknown said...

Sharmilee! :) :Reply comment

on February 23, 2010 at 1:13 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8350795825710657104.0
  • @Unknown
is the first line of your comment.
Click here to enter your reply
[hide] Hootin Anni said...

This comment has been removed by the author.

on February 27, 2010 at 8:47 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6087658505488178980.0
  • @Hootin Anni
is the first line of your comment.
Click here to enter your reply
[hide] InternetTeknologi.Com said...

@6743121676659242552.0 REPLY

on April 16, 2010 at 10:13 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5428121595994505910.0
  • @InternetTeknologi.Com
is the first line of your comment.
Click here to enter your reply
[hide] InternetTeknologi.Com said...

test but,why no picture avatar?

on April 17, 2010 at 8:07 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3344993983573098252.0
  • @InternetTeknologi.Com
is the first line of your comment.
Click here to enter your reply
[hide] Pankaj Upadhyay (पंकज उपाध्याय) said...

Hey Shams,
First let me tell you that this is an amazing work which you have done..three claps for you :)

I embedded the script in my page i.e. http://pupadhyay.blogspot.com/

Now there are two things which I want, first I would like to put my commentbox below the comments.. presently its coming on the top of the comments..

2nd thing, I want to fill the comment box, automaticaly with the '@ comment id' when user clicks on a 'reply'.. I tried it but did not get much success.. would love if you can help me out..

regards,
Pankaj

on May 16, 2010 at 4:50 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7130230722863583293.0
  • @Pankaj Upadhyay (पंकज उपाध्याय)
is the first line of your comment.
Click here to enter your reply
[hide] Pankaj Upadhyay (पंकज उपाध्याय) said...

Upadhyay (पंकज उपाध्याय)
I mean it would be good if you can guide me how to go for it..

on May 21, 2010 at 8:57 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8610495813378700211.0
  • @Pankaj Upadhyay (पंकज उपाध्याय)
is the first line of your comment.
Click here to enter your reply
[hide] Kancilbiru said...

why is it my comment form doesn't look loke yours? :(

http://www.kancilbiru.com/

on May 20, 2010 at 10:30 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3782630468341325152.0
  • @Kancilbiru
is the first line of your comment.
Click here to enter your reply
[hide] Kancilbiru said...

why is it my reply goes down to bottom?

http://www.kancilbiru.com

on May 20, 2010 at 11:00 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2384277741596533820.0
  • @Kancilbiru
is the first line of your comment.
Click here to enter your reply
[hide] —¤(rIDa)¤— said...

saya berhasil bossss... thank's!
http://belajarnge.blogspot.com

on May 21, 2010 at 1:06 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @249545563851897085.0
  • @—¤(rIDa)¤—
is the first line of your comment.
Click here to enter your reply
[hide] प्रवीण त्रिवेदी said...

hi,

your attached sample template shows error as !

Your template could not be parsed as it is not well-formed. Please make sure all XML elements are closed properly.
XML error message: Content is not allowed in prolog.

on May 24, 2010 at 2:05 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4782288935021997862.0
  • @प्रवीण त्रिवेदी
is the first line of your comment.
Click here to enter your reply
[hide] Jeff Turner said...

This is really nice to see the blog, good one buddy

on June 7, 2010 at 6:08 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1760507828694564641.0
  • @Jeff Turner
is the first line of your comment.
Click here to enter your reply
[hide] Ocean_Heart said...

Thanks for sharing the information.I agree with the topic.Keep posting articles like these that informative to technical people.

Zenegra | Kamagra

on June 9, 2010 at 7:11 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @9101761455027042897.0
  • @Ocean_Heart
is the first line of your comment.
Click here to enter your reply
[hide] Booyah's Momma said...

Test

on September 15, 2010 at 11:13 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3799981180351333147.0
  • @Booyah's Momma
is the first line of your comment.
Click here to enter your reply
[hide] Acan said...

nice trik bro

on June 15, 2010 at 7:31 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5476303152014720554.0
  • @Acan
is the first line of your comment.
Click here to enter your reply
[hide] Cecilia Putri Utama said...

testing

on June 16, 2010 at 12:11 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @5860756757604124930.0
  • @Cecilia Putri Utama
is the first line of your comment.
Click here to enter your reply
[hide] Cecilia Putri Utama said...

testing

on June 16, 2010 at 12:39 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6373884767996916054.0
  • @Cecilia Putri Utama
is the first line of your comment.
Click here to enter your reply
[hide] Acan said...

@Ocean Heart test reply

on June 18, 2010 at 11:27 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4690258333433651343.0
  • @Acan
is the first line of your comment.
Click here to enter your reply
[hide] Rafiq Raja said...

@9059944098083549367.0 I am trying with first reply.

on July 2, 2010 at 8:48 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @6352265951420422728.0
  • @Rafiq Raja
is the first line of your comment.
Click here to enter your reply
[hide] Rafiq Raja said...

@6352265951420422728.0 testing my own reply.

on July 2, 2010 at 8:49 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2910373350541278750.0
  • @Rafiq Raja
is the first line of your comment.
Click here to enter your reply
[hide] Azahidin said...

@asma. Test

on August 19, 2010 at 10:59 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8941596465589069865.0
  • @Azahidin
is the first line of your comment.
Click here to enter your reply
[hide] Rendi Rafif said...

Test Reply . . .

on August 22, 2010 at 1:49 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1923732655505665570.0
  • @Rendi Rafif
is the first line of your comment.
Click here to enter your reply
[hide] Kiubrubik said...

can u combine this tutorial with ur tutorial?

http://msueroomz.blogspot.com/2010/04/membuat-reply-to-comment.html

on August 31, 2010 at 2:59 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8702874430563132298.0
  • @Kiubrubik
is the first line of your comment.
Click here to enter your reply
[hide] Booyah's Momma said...

@Ocean_Heart Test

on September 15, 2010 at 11:12 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3415397301214544604.0
  • @Booyah's Momma
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

Test

on March 7, 2011 at 6:17 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @442924983044424685.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Hootin Anni said...

This comment has been removed by the author.

on September 22, 2010 at 6:47 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @9097781057106437961.0
  • @Hootin Anni
is the first line of your comment.
Click here to enter your reply
[hide] Hermansro said...

This seems great !

on October 2, 2010 at 11:00 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2600446694946236520.0
  • @Hermansro
is the first line of your comment.
Click here to enter your reply
[hide] Upekha Vandebona said...

just testing your feature. Thanx!!

on October 8, 2010 at 10:52 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8633260182766787724.0
  • @Upekha Vandebona
is the first line of your comment.
Click here to enter your reply
[hide] }¡{ said...

Hi Shams,

Firstly, thank you so much for this, exactly what I was looking for. However, follow your guidelines step-by-step, when I get to step 3 I get this error:
http://img.photobucket.com/albums/v285/carola_pics/error.png
Please could you advise in what should I do as, as far as I can see, all my tags are closed?

Thank you for your time :-)

You can email me if you wish carola(dot)steedman(at)gmail(dot)com :-)

on November 12, 2010 at 4:39 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3354315381295099592.0
  • @}¡{
is the first line of your comment.
Click here to enter your reply
[hide] Unknown said...

Just wanted to try this out.

on November 18, 2010 at 3:35 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @895229912819497169.0
  • @Unknown
is the first line of your comment.
Click here to enter your reply
[hide] Unknown said...

@beth
Wanted to reply to myself

on November 18, 2010 at 3:35 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @4181402672629229358.0
  • @Unknown
is the first line of your comment.
Click here to enter your reply
[hide] Zeinobia said...

test

on December 9, 2010 at 5:48 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3701460709207087892.0
  • @Zeinobia
is the first line of your comment.
Click here to enter your reply
[hide] Zeinobia said...

@Shams test

on December 9, 2010 at 7:47 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8254884413964980625.0
  • @Zeinobia
is the first line of your comment.
Click here to enter your reply
[hide] Zeinobia said...

@Shams testing

on December 10, 2010 at 7:04 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @719689132122930079.0
  • @Zeinobia
is the first line of your comment.
Click here to enter your reply
[hide] Zeinobia said...

This comment has been removed by the author.

on December 10, 2010 at 7:05 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8840082535560511785.0
  • @Zeinobia
is the first line of your comment.
Click here to enter your reply
[hide] Zeinobia said...

Dear Shams , the add on does not work with the new blogger template , can you please help me !!?

on December 13, 2010 at 1:05 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8492668096363741935.0
  • @Zeinobia
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

cool... but can u simply the script to make it? i think u give us some unused script, like comment author, I have placed it...

on December 31, 2010 at 10:01 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @7357065769120016356.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

cool, really

on December 31, 2010 at 10:06 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @8329409452899147729.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] Stef said...

@shams testing

on January 1, 2011 at 10:15 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1149370564148206276.0
  • @Stef
is the first line of your comment.
Click here to enter your reply
[hide] TA.N said...

thanks! I'll be linking to here so that others can use it as well.

I altered the codes a little to fit my tastes.

on January 7, 2011 at 7:51 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @1487882045503548050.0
  • @TA.N
is the first line of your comment.
Click here to enter your reply
[hide] TA.N said...

Hi again, I noticed that with the embedded comment form, after posting a comment, the user is redirected to the top of the page. I've been trying to play around to see if I can change it, but it seems nearly impossible.

Do you have any thoughts on how to redirect the commenter to his/her just-posted comment?

Gracie

on January 9, 2011 at 6:46 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @2180148141353616138.0
  • @TA.N
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

Thanks

on January 9, 2011 at 3:12 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @662064741352374589.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply
[hide] ചെകുത്താന്‍ said...

give this template plzzzzzzzzzzz

on February 5, 2011 at 8:43 AM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @721718078908984548.0
  • @ചെകുത്താന്‍
is the first line of your comment.
Click here to enter your reply
[hide] Anonymous said...

@Booyah's Momma test

on March 7, 2011 at 6:19 PM
[hide]

How to Reply to this comment

To reply to this comment please ensure that one of the following lines:
  • @3481352086795461608.0
  • @Anonymous
is the first line of your comment.
Click here to enter your reply