Singpolyma

Archive of "Code"

Archive for the "Code" Category

Blogger Recent Comments Source Released

Posted on

Older readers will remember my Blogger Recent Comments service that was hosted on Ning.  It has be obsolete for some time now (since Blogger now has provided their own comment feeds since v3) and has long since been shut down by Ning for being a horrible bandwidth hog.  I have thus decided to delete the app (since it’s just taking up space on my Ning account) and release the code under an MIT-style license on my devjavu repository.  Maybe someone will find it useful.

Now to go see if I can use Ning for my next project… Google App Engine not having a decent cron/fakecron is not at all useful… and my Python sucks.

Table for Converting Blogger Classic to New Blogger

Posted on

I have added a lot of new tags and some corrections to the table.

A few people have asked for something like this. A table of Blogger Classic template tags and their new equivalent. This is not entirely possible because it is not a 1:1 relationship, but I will do my best. This is a post for those who were somewhat literate in the old Blogger and want to upgrade. Another post to check out would be Johan’s original post. Great stuff.

If you have a template tag from Blogger Classic that you don’t see here, post it in a comment and I’ll try to add it. This is a work in progress.

<$BlogPageTitle$> <data:blog.pageTitle/>
<$BlogMetaData$> <b:include data=’blog’ name=’all-head-content’/>
<style type="text/css"> <b:skin><![CDATA[
</style> ]]></b:skin>
<$BlogURL$> <data:blog.homepageUrl/>
<$BlogDescription$>
<Blogger> <b:section class=’posts’ id=’posts’ showaddelement=’yes’ growth=’vertical’>
<b:widget id=’PostWidget’ locked=’false’ title=’Posts’ type=’Blog’>
<b:includable id=’main’>
<b:loop values=’data:posts’ var=’post’>
</Blogger> </b:loop>
</b:includable>
</b:widget>
</b:section>
<$BlogItemNumber$> <data:post.id;
<BlogDateHeader> <b:if cond=’data:post.dateHeader’>
</BlogDateHeader> </b:if>
<$BlogDateHeaderDate$> <data:post.dateHeader/>
<$BlogItemPermalinkUrl$> <data:post.url/>
<BlogItemTitle> <b:if cond=’data:post.title’>
</BlogItemTitle> </b:if>
<$BlogItemTitle$> <data:post.title/>
<$BlogItemBody$> <data:post.body/>
<$BlogItemAuthorURL$> <data:blog.homepageUrl/>
<$BlogItemAuthor$> <data:post.author/>
<$BlogItemDateTime$> <data:post.timestamp/>
<BlogItemCommentsEnabled> <b:if cond=’data:post.allowComments’>
</BlogItemCommentsEnabled> </b:if>
<$BlogItemCommentCount$> <data:post.numComments/>
<$BlogItemControl$> <span class=’control’>
<b:if cond=’data:post.emailPostUrl’>
<span class=’item-action’>
<a expr:href=’data:post.emailPostUrl’ title=’Email Post’>
<span class=’email-post-icon’> </span>
</a>
</span>
</b:if>
<b:include data=’post’ name=’postQuickEdit’/>
</span>
<$BlogEncoding$> <data:blog.encoding/>
<$BlogTitle$> <data:blog.title/>
<$BlogItemAuthorNickname$> <data:post.author/>
<$BlogID$>
<$BlogItemUrl$> <data:post.link/>
<ItemPage> <b:if cond=’data:blog.pageType == "item"’>
</ItemPage> </b:if>
<MainOrArchivePage> <b:if cond=’data:blog.pageType != "item"’>
</MainOrArchivePage> </b:if>
<MainPage> <b:if cond=’data:blog.pageType == "main"’>
</MainPage> </b:if>
<ArchivePage> <b:if cond=’data:blog.pageType == "archive"’>
</ArchivePage> </b:if>
<$BlogItemCreate$> <a expr:href=’data:post.addCommentUrl’>Post a Comment</a>
<BlogItemComments> <b:loop values=’data:post.comments’ var=’comment’>
</BlogItemComments> </b:loop>
<$BlogCommentNumber$> <data:comment.id;
<$BlogCommentDateTime$> <data:comment.timestamp/>
<$BlogCommentAuthor$> <address style="display:inline;font-style:normal;" class="author vcard">
<b:if cond=’data:comment.authorUrl != ""’>
<a class="url fn" expr:href=’data:comment.authorUrl’><data:comment.author/></a>
<b:else/>
<span class="fn"><data:comment.author/></span>
</b:if>
</address>
<$BlogCommentBody$> <data:comment.body/>
<$BlogCommentDeleteIcon$> <b:include data=’comment’ name=’commentDeleteIcon’/>
<$BlogCommentPermalinkURL$> #c<data:comment.id;

For how to use this syntax inside tag attributes, please see Johan at Ecmanaut. I would actually recommend that you read that whole post.