Shallow Grunge Theme

Topics: Themes
Jan 12, 2009 at 4:50 PM
Hi. I am new to BlogEngine and I have taken the task of porting my first theme from
I have completed most of the them but I can't get pages to show properly.  If someone can take a look at the theme and tell me what I am missing, I would really appreciate it.

You can find what I have down so far at
You can download the theme at


Jan 13, 2009 at 1:06 AM
Nevermind.  I have fixed the problem.
Jan 13, 2009 at 11:13 AM
Hi Irvin,

I've published your Theme Shallowgrunge in our BE.NET Demo theme library: and have included your links to your blog and the theme download.

Nice Theme, thanks for sharing.

Nick Harrington
team Ambay Software | blog
Apr 17, 2009 at 3:09 AM
Edited Apr 17, 2009 at 3:12 AM

Hi Irvin,

I'm a big fan of ShallowGrunge, and use it on my blog (well, a slightly modified version of it).  I noted an issue today that I wanted to make sure you were aware of.  In CommentView.ascx, there are several <div>s defined with static IDs.  The problem is that an instance of that control is created for each comment, so if you have multiple comments on one post then the page fails validation because the same IDs are used for multiple elements of the page (I only checked XHTML 1.0 Transitional validation).  The fix was easy - change the ID's to classes.  I also included updates to add quotes around the "_blank" for some of the target values that failed validation as well.  I've included the code I ended up with below.


<%@ Control Language="C#" EnableViewState="False" Inherits="BlogEngine.Core.Web.Controls.CommentViewBase" %>

<% if (Post.IsCommentsEnabled) {%>

<br />

<div class="comments">

<div id="id_<%=Comment.Id %>" class="comment<%= Post.Author.Equals(Comment.Author, StringComparison.OrdinalIgnoreCase) ? " self" : "" %>">

<div class="commentheader">

<div class="commentauthor"><%= Flag %>&nbsp;<%= Comment.Website != null ? "<a href=\"" + Comment.Website + "\" target=\"_blank\">" + Comment.Author + "</a>" : Comment.Author %><%= Comment.Website != null ? " (<a href=\"" + Comment.Website + "\" target=\"_blank\" >" + "website link" + "</a>)" : "&nbsp;"%></div>

<div class="commentdate"><%= Comment.DateCreated.ToShortDateString() + " " + Comment.DateCreated.ToShortTimeString()%></div>


<div class="commentgravatar"><%= Gravatar(60)%></div>

<div class="commentcontent" align="left"><%= ResolveLinks(Comment.Content) %></div>



<% if (Page.User.Identity.IsAuthenticated) { %>

<div class="commentadmin" nowrap>Admin Menu <%= AdminLinks %></div>

<%} %>

<br />

<%} else { %>

<p class="nocomments">Comments are closed.</p>

<%} %>


style.css (a subset of the file)

/* Comments -----------------------------------*/

h1#comment {color: #A42424; font-size: 1.5em; border-bottom: 1px dotted #999999;}

.comments { background-color : #f8f8f8; margin : 5px 5px 0px 5px; border : 1px dotted #d8d8d8; padding : 5px; min-height : 100px; height:auto !important; height:100px;}

.commentheader {margin-bottom:10px;border-bottom: 1px dotted #d8d8d8;height:14px;padding-bottom:3px;background-color:#F4F4F4;}

.commentauthor { float : left; width : 50%;}

.commentcontent {text-align:justify;padding:0 5px 10px 5px;}

.commentdate { float : right; width : 40%; text-align : right;}

.commentgravatar { margin : 2px 10px 4px 4px; float : left; border: 1px dotted #CCCCCC;}

.commentadmin { text-align : right; background-color : #f8f8f8; padding:2px 5px 2px 5px; min-width:100px; float:right; border-bottom: 1px dotted #d8d8d8; border-left: 1px dotted #d8d8d8; border-right: 1px dotted #d8d8d8;margin: 0 5px 0 0 ;}


Thanks again for the theme.  Hopefully this code helps you.














Apr 18, 2009 at 2:35 PM
Hi Aaron,

Thanks for the fix.  I will update it ASAP.