Wednesday, May 27, 2009

Displaying only posts with a certain tag on your blogger homepage

Problem:

Part of why I am creating this blog is so that if/when I am looking for a new job, those who are potentially Googling me will be able to see projects that I have worked on or am working on in order to impress prospective employers (In addition to wanting to potentially help others and also so that I may reference work I did in the past if needed). On the other hand, there may be things such as religion, philosophy or politics that I wish to blog about which might detract or prevent me from getting hired (Even in spite of non-discrimination laws. When I was in sales I learned [via my sales figures] that things can subconsciously affect our decisions, which is why I always dressed nice) As such, I wanted to be able to have the front page of my blog only display articles which were tagged with "Computers" while being able to hide hide other posts when the time comes for me to get a job.

Solution:

I was miffed on how to do this for at first. I tried deleting (manually) the main pane for posts on the front page and replacing this with the URL to page which searches for posts by tag, however, this just caused problems with the main page. I was at a loss until, after a bit of research I found the following blog post: http://blog.mobocracy.net/2007/06/filtering-blogger-by-label.html

Now, in case this link becomes defunct, here is the gist of how to properly apply this fix:

"From your blog dashboard, click on "Layout" then click on "Edit HTML". Once you have done that, click the "Expand Widget Templates" checkbox. Now you're ready to edit. As always, I recommend making a backup before you get started. First, search for the line that starts with . You are going to remove everything in that function between and the closing tag with the following:


< b:if cond="'data:blog.url">
< b:if cond="'data:post.labels'">
< b:loop values="'data:post.labels'" var="'label'">
< b:if cond="'data:label.name">
< b:include data="'post'" name="'printPosts'/">
< /b:if>
< /b:loop>
< /b:if>
< b:else/>
< b:include data="'post'" name="'printPosts'/">
< /b:if>


The above change essentially says the following: if you are on the homepage, and a post has labels, and the post has the "main" label, then call printPosts. Or, if you are not on the homepage, call printPosts. Now search for the close tag of the main function (it looks like </b:includable>) and after it paste the following code:

< b:includable id="'printPosts'" var="'post'">
< b:if cond="'data:post.dateHeader'">
< h2 class="'date-header'">< data:post.dateheader/>< /h2>
< /b:if>

< b:include data="'post'" name="'post'/">

< b:if cond="'data:blog.pageType">
< b:include data="'post'" name="'comments'/">
< /b:if>
< /b:includable>

The above code is your printPosts function/method. It is identical to what you had before, it was just turned into a function to reduce code duplication. That's it. Now only posts with a "main" label will show up on the front page. For Peter Sachs, who was wanting to filter out content, just change the (== "main") markup to something like (!= "nsfw"). Enjoy."

Note: don't forget the "Expand widget templates" checkbox or else you will not be able to find the sections referenced.

It took me a bit of time to figure out where the code was supposed to go exactly and how it was to be formatted, so I am including a complete working example taken from html code for this blog below:


< ?xml version="1.0" encoding="UTF-8" ?>
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html dir="'data:blog.languageDirection'" xmlns="'http://www.w3.org/1999/xhtml'" b="'http://www.google.com/2005/gml/b'" data="'http://www.google.com/2005/gml/data'" expr="'http://www.google.com/2005/gml/expr'">
< head>
< b:include data="'blog'" name="'all-head-content'/">
< title>< data:blog.pagetitle/>< /title>
< b:skin>< ![CDATA[/*
-----------------------------------------------
Blogger Template Style
Name: Minima
Designer: Douglas Bowman
URL: www.stopdesign.com
Date: 26 Feb 2004
Updated by: Blogger Team
----------------------------------------------- */

/* Variable definitions
====================
< Variable name="bgcolor" description="Page Background Color"
type="color" default="#fff" value="#ffffff">
< Variable name="textcolor" description="Text Color"
type="color" default="#333" value="#333333">
< Variable name="linkcolor" description="Link Color"
type="color" default="#58a" value="#5588aa">
< Variable name="pagetitlecolor" description="Blog Title Color"
type="color" default="#666" value="#666666">
< Variable name="descriptioncolor" description="Blog Description Color"
type="color" default="#999" value="#999999">
< Variable name="titlecolor" description="Post Title Color"
type="color" default="#c60" value="#cc6600">
< Variable name="bordercolor" description="Border Color"
type="color" default="#ccc" value="#cccccc">
< Variable name="sidebarcolor" description="Sidebar Title Color"
type="color" default="#999" value="#999999">
< Variable name="sidebartextcolor" description="Sidebar Text Color"
type="color" default="#666" value="#666666">
< Variable name="visitedlinkcolor" description="Visited Link Color"
type="color" default="#999" value="#999999">
< Variable name="bodyfont" description="Text Font"
type="font" default="normal normal 100% Georgia, Serif" value="normal normal 100% Georgia, Serif">
< Variable name="headerfont" description="Sidebar Title Font"
type="font"
default="normal normal 78% 'Trebuchet MS',Trebuchet,Arial,Verdana,Sans-serif" value="normal normal 78% 'Trebuchet MS',Trebuchet,Arial,Verdana,Sans-serif">
< Variable name="pagetitlefont" description="Blog Title Font"
type="font"
default="normal normal 200% Georgia, Serif" value="normal normal 200% Georgia, Serif">
< Variable name="descriptionfont" description="Blog Description Font"
type="font"
default="normal normal 78% 'Trebuchet MS', Trebuchet, Arial, Verdana, Sans-serif" value="normal normal 78% 'Trebuchet MS', Trebuchet, Arial, Verdana, Sans-serif">
< Variable name="postfooterfont" description="Post Footer Font"
type="font"
default="normal normal 78% 'Trebuchet MS', Trebuchet, Arial, Verdana, Sans-serif" value="normal normal 78% 'Trebuchet MS', Trebuchet, Arial, Verdana, Sans-serif">
< Variable name="startSide" description="Side where text starts in blog language"
type="automatic" default="left" value="left">
< Variable name="endSide" description="Side where text ends in blog language"
type="automatic" default="right" value="right">
*/

/* Use this with templates/template-twocol.html */

body {
background:$bgcolor;
margin:0;
color:$textcolor;
font:x-small Georgia Serif;
font-size/* */:/**/small;
font-size: /**/small;
text-align: center;
}
a:link {
color:$linkcolor;
text-decoration:none;
}
a:visited {
color:$visitedlinkcolor;
text-decoration:none;
}
a:hover {
color:$titlecolor;
text-decoration:underline;
}
a img {
border-width:0;
}

/* Header
-----------------------------------------------
*/

#header-wrapper {
width:660px;
margin:0 auto 10px;
border:1px solid $bordercolor;
}

#header-inner {
background-position: center;
margin-left: auto;
margin-right: auto;
}

#header {
margin: 5px;
border: 1px solid $bordercolor;
text-align: center;
color:$pagetitlecolor;
}

#header h1 {
margin:5px 5px 0;
padding:15px 20px .25em;
line-height:1.2em;
text-transform:uppercase;
letter-spacing:.2em;
font: $pagetitlefont;
}

#header a {
color:$pagetitlecolor;
text-decoration:none;
}

#header a:hover {
color:$pagetitlecolor;
}

#header .description {
margin:0 5px 5px;
padding:0 20px 15px;
max-width:700px;
text-transform:uppercase;
letter-spacing:.2em;
line-height: 1.4em;
font: $descriptionfont;
color: $descriptioncolor;
}

#header img {
margin-$startSide: auto;
margin-$endSide: auto;
}


/* Outer-Wrapper
----------------------------------------------- */
#outer-wrapper {
width: 660px;
margin:0 auto;
padding:10px;
text-align:$startSide;
font: $bodyfont;
}

#main-wrapper {
width: 410px;
float: $startSide;
word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
overflow: hidden; /* fix for long non-text content breaking IE sidebar float */
}

#sidebar-wrapper {
width: 220px;
float: $endSide;
word-wrap: break-word; /* fix for long text breaking sidebar float in IE */
overflow: hidden; /* fix for long non-text content breaking IE sidebar float */
}


/* Headings
----------------------------------------------- */

h2 {
margin:1.5em 0 .75em;
font:$headerfont;
line-height: 1.4em;
text-transform:uppercase;
letter-spacing:.2em;
color:$sidebarcolor;
}


/* Posts
-----------------------------------------------
*/
h2.date-header {
margin:1.5em 0 .5em;
}

.post {
margin:.5em 0 1.5em;
border-bottom:1px dotted $bordercolor;
padding-bottom:1.5em;
}
.post h3 {
margin:.25em 0 0;
padding:0 0 4px;
font-size:140%;
font-weight:normal;
line-height:1.4em;
color:$titlecolor;
}

.post h3 a, .post h3 a:visited, .post h3 strong {
display:block;
text-decoration:none;
color:$titlecolor;
font-weight:normal;
}

.post h3 strong, .post h3 a:hover {
color:$textcolor;
}

.post-body {
margin:0 0 .75em;
line-height:1.6em;
}

.post-body blockquote {
line-height:1.3em;
}

.post-footer {
margin: .75em 0;
color:$sidebarcolor;
text-transform:uppercase;
letter-spacing:.1em;
font: $postfooterfont;
line-height: 1.4em;
}

.comment-link {
margin-$startSide:.6em;
}
.post img {
padding:4px;
border:1px solid $bordercolor;
}
.post blockquote {
margin:1em 20px;
}
.post blockquote p {
margin:.75em 0;
}

/* Comments
----------------------------------------------- */
#comments h4 {
margin:1em 0;
font-weight: bold;
line-height: 1.4em;
text-transform:uppercase;
letter-spacing:.2em;
color: $sidebarcolor;
}

#comments-block {
margin:1em 0 1.5em;
line-height:1.6em;
}
#comments-block .comment-author {
margin:.5em 0;
}
#comments-block .comment-body {
margin:.25em 0 0;
}
#comments-block .comment-footer {
margin:-.25em 0 2em;
line-height: 1.4em;
text-transform:uppercase;
letter-spacing:.1em;
}
#comments-block .comment-body p {
margin:0 0 .75em;
}
.deleted-comment {
font-style:italic;
color:gray;
}

#blog-pager-newer-link {
float: $startSide;
}

#blog-pager-older-link {
float: $endSide;
}

#blog-pager {
text-align: center;
}

.feed-links {
clear: both;
line-height: 2.5em;
}

/* Sidebar Content
----------------------------------------------- */
.sidebar {
color: $sidebartextcolor;
line-height: 1.5em;
}

.sidebar ul {
list-style:none;
margin:0 0 0;
padding:0 0 0;
}
.sidebar li {
margin:0;
padding-top:0;
padding-$endSide:0;
padding-bottom:.25em;
padding-$startSide:15px;
text-indent:-15px;
line-height:1.5em;
}

.sidebar .widget, .main .widget {
border-bottom:1px dotted $bordercolor;
margin:0 0 1.5em;
padding:0 0 1.5em;
}

.main .Blog {
border-bottom-width: 0;
}


/* Profile
----------------------------------------------- */
.profile-img {
float: $startSide;
margin-top: 0;
margin-$endSide: 5px;
margin-bottom: 5px;
margin-$startSide: 0;
padding: 4px;
border: 1px solid $bordercolor;
}

.profile-data {
margin:0;
text-transform:uppercase;
letter-spacing:.1em;
font: $postfooterfont;
color: $sidebarcolor;
font-weight: bold;
line-height: 1.6em;
}

.profile-datablock {
margin:.5em 0 .5em;
}

.profile-textblock {
margin: 0.5em 0;
line-height: 1.6em;
}

.profile-link {
font: $postfooterfont;
text-transform: uppercase;
letter-spacing: .1em;
}

/* Footer
----------------------------------------------- */
#footer {
width:660px;
clear:both;
margin:0 auto;
padding-top:15px;
line-height: 1.6em;
text-transform:uppercase;
letter-spacing:.1em;
text-align: center;
}
]]>< /b:skin>
< /head>

< body>
< div id="'outer-wrapper'">< div id="'wrap2'">

< !-- skip links for text browsers -->
< span id="'skiplinks'" style="'display:none;'">
< a href="'#main'">skip to main < /a> |
< a href="'#sidebar'">skip to sidebar< /a>
< /span>

< div id="'header-wrapper'">
< b:section class="'header'" id="'header'" maxwidgets="'1'" showaddelement="'no'">
< b:widget id="'Header1'" locked="'true'" title="'Nerdy" type="'Header'">
< b:includable id="'main'">

< b:if cond="'data:useImage'">
< b:if cond="'data:imagePlacement">
< !--Show just the image, no text-->
< div id="'header-inner'">
< a href="'data:blog.homepageUrl'" style="'display:">
< img alt="'data:title'" height="'data:height'" id="'data:widget.instanceId" src="'data:sourceUrl'" width="'data:width'" style="'display:" />
< /a>
< /div>
< b:else/>
< !--
Show image as background to text. You can't really calculate the width
reliably in JS because margins are not taken into account by any of
clientWidth, offsetWidth or scrollWidth, so we don't force a minimum
width if the user is using shrink to fit.
This results in a margin-width's worth of pixels being cropped. If the
user is not using shrink to fit then we expand the header.
-->
< div style="'"background-image:" id="'header-inner'">
< div class="'titlewrapper'" style="'background:">
< h1 class="'title'" style="'background:">
< b:include name="'title'/">
< /h1>
< /div>
< b:include name="'description'/">
< /div>
< /b:if>
< b:else/>
< !--No header image -->
< div id="'header-inner'">
< div class="'titlewrapper'">
< h1 class="'title'">
< b:include name="'title'/">
< /h1>
< /div>
< b:include name="'description'/">
< /div>
< /b:if>
< /b:includable>
< b:includable id="'title'">
< b:if cond="'data:blog.url">
< data:title/>
< b:else/>
< a href="'data:blog.homepageUrl'">< data:title/>< /a>
< /b:if>
< /b:includable>
< b:includable id="'description'">
< div class="'descriptionwrapper'">
< p class="'description'">< span>< data:description/>< /span>< /p>
< /div>
< /b:includable>
< /b:widget>
< /b:section>
< /div>

< div id="'content-wrapper'">

< div id="'crosscol-wrapper'" style="'text-align:center'">
< b:section class="'crosscol'" id="'crosscol'" showaddelement="'no'/">
< /div>

< div id="'main-wrapper'">
< b:section class="'main'" id="'main'" showaddelement="'no'">
< b:widget id="'Blog1'" locked="'true'" title="'Blog" type="'Blog'">
< b:includable id="'nextprev'">
< div class="'blog-pager'" id="'blog-pager'">
< b:if cond="'data:newerPageUrl'">
< span id="'blog-pager-newer-link'">
< a class="'blog-pager-newer-link'" href="'data:newerPageUrl'" id="'data:widget.instanceId" title="'data:newerPageTitle'">< data:newerpagetitle/>< /a>
< /span>
< /b:if>

< b:if cond="'data:olderPageUrl'">
< span id="'blog-pager-older-link'">
< a class="'blog-pager-older-link'" href="'data:olderPageUrl'" id="'data:widget.instanceId" title="'data:olderPageTitle'">< data:olderpagetitle/>< /a>
< /span>
< /b:if>

< b:if cond="'data:blog.homepageUrl">
< a class="'home-link'" href="'data:blog.homepageUrl'">< data:homemsg/>< /a>
< b:else/>
< b:if cond="'data:newerPageUrl'">
< a class="'home-link'" href="'data:blog.homepageUrl'">< data:homemsg/>< /a>
< /b:if>
< /b:if>

< /div>
< div class="'clear'/">
< /b:includable>
< b:includable id="'backlinks'" var="'post'">
< a name="'links'/">< h4>< data:post.backlinkslabel/>< /h4>
< b:if cond="'data:post.numBacklinks">
< dl class="'comments-block'" id="'comments-block'">
< b:loop values="'data:post.backlinks'" var="'backlink'">
< div class="'collapsed-backlink">
< dt class="'comment-title'">
< span class="'backlink-toggle-zippy'"> < /span>
< a href="'data:backlink.url'" rel="'nofollow'">< data:backlink.title/>< /a>
< b:include data="'backlink'" name="'backlinkDeleteIcon'/">
< /dt>
< dd class="'comment-body">
< data:backlink.snippet/>
< /dd>
< dd class="'comment-footer">
< span class="'comment-author'">< data:post.authorlabel/> < data:backlink.author/>< /span>
< span class="'comment-timestamp'">< data:post.timestamplabel/> < data:backlink.timestamp/>< /span>
< /dd>
< /div>
< /b:loop>
< /dl>
< /b:if>
< p class="'comment-footer'">
< a class="'comment-link'" href="'data:post.createLinkUrl'" id="'data:widget.instanceId" target="'_blank'">< data:post.createlinklabel/>< /a>
< /p>
< /b:includable>
< b:includable id="'post'" var="'post'">
< div class="'post">
< a name="'data:post.id'/">
< b:if cond="'data:post.title'">
< h3 class="'post-title">
< b:if cond="'data:post.link'">
< a href="'data:post.link'">< data:post.title/>< /a>
< b:else/>
< b:if cond="'data:post.url'">
< a href="'data:post.url'">< data:post.title/>< /a>
< b:else/>
< data:post.title/>
< /b:if>
< /b:if>
< /h3>
< /b:if>

< div class="'post-header-line-1'/">

< div class="'post-body">
< data:post.body/>
< div style="'clear:"> < !-- clear for photos floats -->
< /div>

< b:if cond="'data:post.hasJumpLink'">
< div class="'jump-link'">
< a href="'data:post.url">< data:post.jumptext/>< /a>
< /div>
< /b:if>

< div class="'post-footer'">
< div class="'post-footer-line">
< span class="'post-author">
< b:if cond="'data:top.showAuthor'">
< data:top.authorlabel/>
< span class="'fn'">< data:post.author/>< /span>
< /b:if>
< /span>

< span class="'post-timestamp'">
< b:if cond="'data:top.showTimestamp'">
< data:top.timestamplabel/>
< b:if cond="'data:post.url'">
< a class="'timestamp-link'" href="'data:post.url'" rel="'bookmark'" title="'permanent">< abbr class="'published'" title="'data:post.timestampISO8601'">< data:post.timestamp/>< /abbr>< /a>
< /b:if>
< /b:if>
< /span>

< span class="'reaction-buttons'">
< b:if cond="'data:top.showReactions'">
< table border="'0'" cellpadding="'0'" cellspacing="'0'" width="'100%'">< tr>
< td class="'reactions-label-cell'" nowrap="'nowrap'" valign="'top'" width="'1%'">
< span class="'reactions-label'">
< data:top.reactionslabel/>< /span> < /td>
< td>< iframe allowtransparency="'true'" class="'reactions-iframe'" src="'data:post.reactionsUrl'" frameborder="'0'" name="'reactions'" scrolling="'no'/">< /td>
< /tr>< /table>
< /b:if>
< /span>

< span class="'star-ratings'">
< b:if cond="'data:top.showStars'">
< div color="'data:backgroundColor'" color="'data:textColor'" url="'data:post.absoluteUrl'" height="'42'" type="'RatingPanel'" width="'280'/">
< /b:if>
< /span>

< span class="'post-comment-link'">
< b:if cond="'data:blog.pageType">
< b:if cond="'data:post.allowComments'">
< a class="'comment-link'" href="'data:post.addCommentUrl'" onclick="'data:post.addCommentOnclick'">< b:if cond="'data:post.numComments">1 < data:top.commentlabel/>< b:else/>< data:post.numcomments/> < data:top.commentlabelplural/>< /b:if>< /a>
< /b:if>
< /b:if>
< /span>

< !-- backlinks -->
< span class="'post-backlinks">
< b:if cond="'data:blog.pageType">
< b:if cond="'data:post.showBacklinks'">
< a class="'comment-link'" href="'data:post.url">< data:top.backlinklabel/>< /a>
< /b:if>
< /b:if>
< /span>

< span class="'post-icons'">
< !-- email post links -->
< b:if cond="'data:post.emailPostUrl'">
< span class="'item-action'">
< a href="'data:post.emailPostUrl'" title="'data:top.emailPostMsg'">
< img alt="''" class="'icon-action'" height="'13'" src="'http://www.blogger.com/img/icon18_email.gif'" width="'18'/" />
< /a>
< /span>
< /b:if>

< !-- quickedit pencil -->
< b:include data="'post'" name="'postQuickEdit'/">
< /span>
< /div>

< div class="'post-footer-line">
< span class="'post-labels'">
< b:if cond="'data:post.labels'">
< data:postlabelslabel/>
< b:loop values="'data:post.labels'" var="'label'">
< a href="'data:label.url'" rel="'tag'">< data:label.name/>< /a>< b:if cond="'data:label.isLast">,< /b:if>
< /b:loop>
< /b:if>
< /span>
< /div>

< div class="'post-footer-line">
< span class="'post-location'">
< b:if cond="'data:top.showLocation'">
< b:if cond="'data:post.location'">
< data:postlocationlabel/>
< a href="'data:post.location.mapsUrl'" target="'_blank'">< data:post.location.name/>< /a>
< /b:if>
< /b:if>
< /span>
< /div>
< /div>
< /div>
< /b:includable>
< b:includable id="'status-message'">
< b:if cond="'data:navMessage'">
< div class="'status-msg-wrap'">
< div class="'status-msg-body'">
< data:navmessage/>
< /div>
< div class="'status-msg-border'">
< div class="'status-msg-bg'">
< div class="'status-msg-hidden'">< data:navmessage/>< /div>
< /div>
< /div>
< /div>
< div style="'clear:">
< /b:if>
< /b:includable>
< b:includable id="'comment-form'" var="'post'">
< div class="'comment-form'">
< a name="'comment-form'/">
< h4 id="'comment-post-message'">< data:postcommentmsg/>< /h4>
< p>< data:blogcommentmessage/>< /p>
< data:blogteamblogmessage/>
< a href="'data:post.commentFormIframeSrc'" id="'comment-editor-src'/">
< iframe allowtransparency="'true'" class="'blogger-iframe-colorize" frameborder="'0'" height="'275'" id="'comment-editor'" name="'comment-editor'" scrolling="'no'" src="''" width="'100%'/">
< data:post.friendconnectjs/>
< data:post.cmtfpiframe/>
< script type="'text/javascript'">
BLOG_CMT_createIframe('< data:post.apprpcrelaypath/>', '< data:post.communityid/>');
< /script>
< /div>
< /b:includable>
< b:includable id="'backlinkDeleteIcon'" var="'backlink'">
< span class="'"item-control">
< a href="'data:backlink.deleteUrl'" title="'data:top.deleteBacklinkMsg'">
< img src="'http://www.blogger.com/img/icon_delete13.gif'/" />
< /a>
< /span>
< /b:includable>
< b:includable id="'postQuickEdit'" var="'post'">
< b:if cond="'data:post.editUrl'">
< span class="'"item-control">
< a href="'data:post.editUrl'" title="'data:top.editPostMsg'">
< img alt="''" class="'icon-action'" height="'18'" src="'http://www.blogger.com/img/icon18_edit_allbkg.gif'" width="'18'/" />
< /a>
< /span>
< /b:if>
< /b:includable>
< b:includable id="'main'" var="'top'">
< !-- posts -->
< div class="'blog-posts">

< b:include data="'top'" name="'status-message'/">

< data:adstart/>
< b:loop values="'data:posts'" var="'post'">
< b:if cond="'data:blog.url">
< b:if cond="'data:post.labels'">
< b:loop values="'data:post.labels'" var="'label'">
< b:if cond="'data:label.name">
< b:include data="'post'" name="'printPosts'/">
< /b:if>
< /b:loop>
< /b:if>
< b:else/>
< b:include data="'post'" name="'printPosts'/">
< /b:if>
< /b:loop>
< data:adend/>
< /div>

< !-- navigation -->
< b:include name="'nextprev'/">

< !-- feed links -->
< b:include name="'feedLinks'/">

< b:if cond="'data:top.showStars'">
< script src="'http://www.google.com/jsapi'" type="'text/javascript'/">
< script type="'text/javascript'">
google.load("annotations", "1", {"locale": "< data:top.languagecode/>"});
function initialize() {
google.annotations.setApplicationId(< data:top.blogspotreviews/>);
google.annotations.createAll();
google.annotations.fetch();
}
google.setOnLoadCallback(initialize);
< /script>
< /b:if>

< /b:includable>
< b:includable id="'commentDeleteIcon'" var="'comment'">
< span class="'"item-control">
< a href="'data:comment.deleteUrl'" title="'data:top.deleteCommentMsg'">
< img src="'http://www.blogger.com/img/icon_delete13.gif'/" />
< /a>
< /span>
< /b:includable>
< b:includable id="'printPosts'" var="'post'">
< b:if cond="'data:post.dateHeader'">
< h2 class="'date-header'">< data:post.dateheader/>< /h2>
< /b:if>

< b:include data="'post'" name="'post'/">

< b:if cond="'data:blog.pageType">
< b:include data="'post'" name="'comments'/">
< /b:if>
< /b:includable>
< b:includable id="'feedLinks'">
< b:if cond="'data:blog.pageType"> < !-- Blog feed links -->
< b:if cond="'data:feedLinks'">
< div class="'blog-feeds'">
< b:include data="'feedLinks'" name="'feedLinksBody'/">
< /div>
< /b:if>

< b:else/> < !--Post feed links -->
< div class="'post-feeds'">
< b:loop values="'data:posts'" var="'post'">
< b:if cond="'data:post.allowComments'">
< b:if cond="'data:post.feedLinks'">
< b:include data="'post.feedLinks'" name="'feedLinksBody'/">
< /b:if>
< /b:if>
< /b:loop>
< /div>
< /b:if>
< /b:includable>
< b:includable id="'feedLinksBody'" var="'links'">
< div class="'feed-links'">
< data:feedlinksmsg/>
< b:loop values="'data:links'" var="'f'">
< a class="'feed-link'" href="'data:f.url'" type="'data:f.mimeType'" target="'_blank'">< data:f.name/> (< data:f.feedtype/>)< /a>
< /b:loop>
< /div>
< /b:includable>
< 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 < data:commentlabel/>:
< b:else/>
< data:post.numcomments/> < data:commentlabelplural/>:
< /b:if>
< /h4>

< b:if cond="'data:post.commentPagingRequired'">
< span class="'paging-control-container'">
< a class="'data:post.oldLinkClass'" href="'data:post.oldestLinkUrl'">< data:post.oldestlinktext/>< /a>
 
< a class="'data:post.oldLinkClass'" href="'data:post.olderLinkUrl'">< data:post.olderlinktext/>< /a>
 
< data:post.commentrangetext/>
 
< a class="'data:post.newLinkClass'" href="'data:post.newerLinkUrl'">< data:post.newerlinktext/>< /a>
 
< a class="'data:post.newLinkClass'" href="'data:post.newestLinkUrl'">< data:post.newestlinktext/>< /a>
< /span>
< /b:if>

< dl id="'comments-block'">
< b:loop values="'data:post.comments'" var="'comment'">
< dt class="'"comment-author" id="'data:comment.anchorName'">
< b:if cond="'data:comment.favicon'">
< img src="'data:comment.favicon'" height="'16px'" style="'margin-bottom:-2px;'" width="'16px'/" />
< /b:if>
< a name="'data:comment.anchorName'/">
< b:if cond="'data:comment.authorUrl'">
< a href="'data:comment.authorUrl'" rel="'nofollow'">< data:comment.author/>< /a>
< b:else/>
< data:comment.author/>
< /b:if>
< data:commentpostedbymsg/>
< /dt>
< dd class="'comment-body'">
< b:if cond="'data:comment.isDeleted'">
< span class="'deleted-comment'">< data:comment.body/>< /span>
< b:else/>
< p>< data:comment.body/>< /p>
< /b:if>
< /dd>
< dd class="'comment-footer'">
< span class="'comment-timestamp'">
< a href="'data:comment.url'" title="'comment">
< data:comment.timestamp/>
< /a>
< b:include data="'comment'" name="'commentDeleteIcon'/">
< /span>
< /dd>
< /b:loop>
< /dl>

< b:if cond="'data:post.commentPagingRequired'">
< span class="'paging-control-container'">
< a class="'data:post.oldLinkClass'" href="'data:post.oldestLinkUrl'">
< data:post.oldestlinktext/>
< /a>
< a class="'data:post.oldLinkClass'" href="'data:post.olderLinkUrl'">
< data:post.olderlinktext/>
< /a>
 
< data:post.commentrangetext/>
 
< a class="'data:post.newLinkClass'" href="'data:post.newerLinkUrl'">
< data:post.newerlinktext/>
< /a>
< a class="'data:post.newLinkClass'" href="'data:post.newestLinkUrl'">
< data:post.newestlinktext/>
< /a>
< /span>
< /b:if>

< p class="'comment-footer'">
< b:if cond="'data:post.embedCommentForm'">
< b:if cond="'data:post.allowNewComments'">
< b:include data="'post'" name="'comment-form'/">
< b:else/>
< data:post.nonewcommentstext/>
< /b:if>
< b:else/>
< b:if cond="'data:post.allowComments'">
< a href="'data:post.addCommentUrl'" onclick="'data:post.addCommentOnclick'">< data:postcommentmsg/>< /a>
< /b:if>
< /b:if>

< /p>
< /b:if>

< div id="'backlinks-container'">
< div id="'data:widget.instanceId">
< b:if cond="'data:post.showBacklinks'">
< b:include data="'post'" name="'backlinks'/">
< /b:if>
< /div>
< /div>
< /div>
< /b:includable>
< /b:widget>
< /b:section>
< /div>

< div id="'sidebar-wrapper'">
< b:section class="'sidebar'" id="'sidebar'" preferred="'yes'">
< b:widget id="'BlogArchive1'" locked="'false'" title="'Blog" type="'BlogArchive'">
< b:includable id="'main'">
< b:if cond="'data:title'">
< h2>< data:title/>< /h2>
< /b:if>
< div class="'widget-content'">
< div id="'ArchiveList'">
< div id="'data:widget.instanceId">
< b:if cond="'data:style">
< b:include data="'data'" name="'interval'/">
< /b:if>
< b:if cond="'data:style">
< b:include data="'data'" name="'flat'/">
< /b:if>
< b:if cond="'data:style">
< b:include data="'data'" name="'menu'/">
< /b:if>
< /div>
< /div>
< b:include name="'quickedit'/">
< /div>
< /b:includable>
< b:includable id="'flat'" var="'data'">
< ul>
< b:loop values="'data:data'" var="'i'">
< li class="'archivedate'">
< a href="'data:i.url'">< data:i.name/>< /a> (< data:i.post-count/>)
< /li>
< /b:loop>
< /ul>
< /b:includable>
< b:includable id="'menu'" var="'data'">
< select id="'data:widget.instanceId">
< option value="''">< data:title/>< /option>
< b:loop values="'data:data'" var="'i'">
< option value="'data:i.url'">< data:i.name/> (< data:i.post-count/>)< /option>
< /b:loop>
< /select>
< /b:includable>
< b:includable id="'interval'" var="'intervalData'">
< b:loop values="'data:intervalData'" var="'i'">
< ul>
< li class="'"archivedate">
< b:include data="'i'" name="'toggle'/">
< a class="'post-count-link'" href="'data:i.url'">< data:i.name/>< /a>
< span class="'post-count'" dir="'ltr'">(< data:i.post-count/>)< /span>
< b:if cond="'data:i.data'">
< b:include data="'i.data'" name="'interval'/">
< /b:if>
< b:if cond="'data:i.posts'">
< b:include data="'i.posts'" name="'posts'/">
< /b:if>
< /li>
< /ul>
< /b:loop>
< /b:includable>
< b:includable id="'toggle'" var="'interval'">
< b:if cond="'data:interval.toggleId'">
< b:if cond="'data:interval.expclass">
< a class="'toggle'" href="'data:widget.actionUrl" action="toggle"" dir="close&toggle=""" toggleopen=""">
< span class="'zippy">▼ < /span>
< /a>
< b:else/>
< a class="'toggle'" href="'data:widget.actionUrl" action="toggle"" dir="open&toggle=""" toggleopen=""">
< span class="'zippy'">
< b:if cond="'data:blog.languageDirection">

< b:else/>

< /b:if>
< /span>
< /a>
< /b:if>
< /b:if>
< /b:includable>
< b:includable id="'posts'" var="'posts'">
< ul class="'posts'">
< b:loop values="'data:posts'" var="'i'">
< li>< a href="'data:i.url'">< data:i.title/>< /a>< /li>
< /b:loop>
< /ul>
< /b:includable>
< /b:widget>
< b:widget id="'Profile1'" locked="'false'" title="'About" type="'Profile'">
< b:includable id="'main'">
< b:if cond="'data:title">
< h2>< data:title/>< /h2>
< /b:if>
< div class="'widget-content'">
< b:if cond="'data:team"> < !-- team blog profile -->
< ul>
< b:loop values="'data:authors'" var="'i'">
< li>< a href="'data:i.userUrl'">< data:i.display-name/>< /a>< /li>
< /b:loop>
< /ul>

< b:else/> < !-- normal blog profile -->

< b:if cond="'data:photo.url">
< a href="'data:userUrl'">< img class="'profile-img'" alt="'data:photo.alt'" height="'data:photo.height'" src="'data:photo.url'" width="'data:photo.width'/" />< /a>
< /b:if>

< dl class="'profile-datablock'">
< dt class="'profile-data'">< data:displayname/>< /dt>

< b:if cond="'data:showlocation">
< dd class="'profile-data'">< data:location/>< /dd>
< /b:if>

< b:if cond="'data:aboutme">< dd class="'profile-textblock'">< data:aboutme/>< /dd>< /b:if>
< /dl>
< a class="'profile-link'" href="'data:userUrl'">< data:viewprofilemsg/>< /a>
< /b:if>

< b:include name="'quickedit'/">
< /div>
< /b:includable>
< /b:widget>
< /b:section>
< /div>

< !-- spacer for skins that want sidebar and main to be the same height-->
< div class="'clear'"> < /div>

< /div> < !-- end content-wrapper -->

< div id="'footer-wrapper'">
< b:section class="'footer'" id="'footer'/">
< /div>

< /div>< /div> < !-- end outer-wrapper -->
< /body>
< /html>

16 comments:

Unknown said...

Does this code still works? I am having problem with my blog right now. :(

Please help!

James said...

Hey Andrew, sorry for the late response. It still seems to work for me as I am still using it for this blog. I need to redo it soon to make the div the posts are in wider though. Did you get your blog working?

Food on Wheels said...

It's very interesting, Thanks for sharing a valuable information to us & Knowledgeable also, keep on sharing like this.
I share this url for Check Train PNR status through RailMitra

Food on Wheels said...

It's very interesting, Thanks for sharing a valuable information to us & Knowledgeable also, keep on sharing like this.
I share this url for Check Train PNR status through RailMitra

Anonymous said...

Hey, great blog, but I don’t understand how to add your site in my reader. Can you Help me please?
Tropic Diva

Tam Richard said...

Positive site, where did u come up with the information on this posting? I'm pleased I discovered it though, ill be checking back soon to find out what additional posts you include.
fake ids

Anonymous said...

Your Blog is awesome to get info, please if you want some business leads so
MCA Leads

ramiz said...

Its a great pleasure reading your post.Its full of information I am looking for and I love to post a comment that "The content of your post is awesome" Great work.
online Store

kabir said...

Loved this! If you want to check your live station status then simply go to the check live station statuspage.

abdulbasit11803 said...

It is a great website.. The Design looks very good.. Keep working like that!.
team alignment

Tam Richard said...

Thank you so much for sharing this great blog.Very inspiring and helpful too.Hope you continue to share more of your ideas.I will definitely love to read.
IRISH FAKE ID

top 20 said...

nice post, keep up with this interesting work. It really is good to know that this topic is being covered also on this web site so cheers for taking time to discuss this!
UK FAKE DRIVERS LICENSE

Vicky White said...

Appreciate the positive feedback! Your encouragement fuels our commitment to exploring and discussing relevant topics on this platform. Thanks for acknowledging the effort dedicated to addressing this subject – your support means a lot!
software development company

Emma White said...

Nerdy Thoughts offers insightful perspectives on tech and culture. Embracing digital transformation and marketing solutions can amplify your reach and impact. Leveraging these strategies will elevate your content and engage a wider audience effectively. Keep up the great work!

Jason Roy said...

Appreciate the positive feedback! Your encouragement fuels our commitment to exploring and discussing relevant topics on this platform. Thanks for acknowledging the effort dedicated to addressing this subject – your support means a lot! DME Mobiliti

Stephin Moris said...

Thank you for the compliments! Your support strengthens our resolve.As a digital marketing expert for Meta furniture

Post a Comment