Tuesday, December 07, 2004

[Advice] Using 'topics' or 'categories' in Blogger

So you want to have Topics/Categories in Blogger...

It's easy... once you've done all the hard stuff.

[UPDATE: As with most things, there are more than one way to do Topics/Categories... See the comments for this post for more options. Thanks, Everyone! —JBH]

As has been posted elsewhere on Blogger, the way to go about this is to have a separate blog set up for each Topic you wish to have. For example, you'll notice that I have 7 topics (when this entry was written) listed on the left sidebar. If you hover over the links, you'll see that each is actually its own blog ('Home' is the main blog).

The way they're "posted" to the main blog is by setting a BlogSend Address on each topic (use the same one for each topic). This "catcher" email account must have the ability to filter incoming emails and forward them out to a different email address. Your email filter will then post your blog topic entries back to the main blog.

So, whenever you want to set up a new topic, you simply click on the "GET YOUR OWN BLOG" link at the top right of the screen, then follow the instructions below and your new topic will show up on your main blog.

Set up "Main" Blog

The first thing you want to do is set up your main blog. Blogger will help you with all of that. I suggest setting up your topics with the same template and description as your main blog, so you'll want to make note of those things for the future setup of the topics.

Special settings for the main blog. Two things need to be set up for the main blog to "catch" the categories.

The first is on the blog itself. Go to Settings and then click on Email. You'll need to identify a Mail-to-Blogger Address and check the Publish box. Remember the address you set up; you'll need it for the second thing. This is the email address you can use to 'send' a blog entry to your blog for publish.

Next, you'll need to decide on an email box where you can route your topics back to main. I use Google's Gmail, which has great filtering abilities. You'll need to set up a filter that will take your blog topics and forward them to the "Mail-to-Blogger Address" you set up on your main blog. You'll have to experiment with the filter options to make sure only your blog entries are forwarded to the main blog.

(Note: When using Gmail, I also "Skip the Inbox" and give it a label of "Blog.")

Creating a "Topic" Blog

Now, you're ready to create a topic. Simply create a new blog. Give it a name (don't include the main blog's name) and a URL (I recommend that you include the main blog's name).

Settings. Some things will be the same as the main blog, some things will be different.

Things that are the same: Description and Template. (We'll actually modify the Template in a future step, but you want the look and feel to be the same.)

Things that are NOT the same:

  • Basic - Add your Blog to our listing?: No
  • Comments - Comments: Hide
  • Site Feed - Publish Site Feed: No
  • Email - BlogSend Address: yourFilteringInbox@yourMailDomain.com
  • Email - Mail-to-Blogger Address: blank

Now, if this is all you do, you can post entries to your Topic Blog and they'll show up on your main blog, eventually. I say, 'eventually,' because Blogger doesn't appear to post Mail-to-Blogger entries immediately. So, there will be a lag time where your item will be on your topic blog, but not the main.

[UPDATE - 9 June 2006: I'm not sure if Blogger has been reading through this post, but they seem to have fixed the lag time, too. Thanks, Blogger! —JBH]

Main v. Topic Templates

As I said, you'll want the Templates to look the "same," but there are some modifications you'll probably want to make to each to make the overall blog experience more seamless for your readers.

(For the purposes of these examples, I'll use "Billy Joe Jim Bob" as the title of the main blog.)

Title bar. The default page title—that is, the title that's displayed on your browser title bar—is the name of the blog. In this case, the name of the blog is simply your topic name, with no mention of the main blog at all. To remedy this, you'll need to make the following edit in your template.

Change:


<title><$BlogPageTitle$></title>

To:


<title>Billy Joe Jim Bob - <$BlogPageTitle$></title>
Page Title. Next, you'll want to modify the Title that appears on the page. Search your template for '$BlogTitle' and you should find something that looks like this.

<h1 id="blog-title">

<MainOrArchivePage><a href="<$BlogURL$">"></MainOrArchivePage>

<$BlogTitle$>

<MainOrArchivePage></a></MainOrArchivePage>

</h1>
(Aside. [The following is not required for posting topics, but is useful in understanding how the page will work. —JBH] The <MainOrArchivePage> tags tell Blogger to only show this part on the main page or an archive page for the blog. Basically this means it will not draw this portion of the code on the "detail" pages—the 'permalink' pages. In the above case, what that means is that the BlogTitle is not a link on the detail pages, but IS on the main and archive pages. I didn't like that "functionality" so I removed those tags from this section altogether.)

So, here's how that might look, showing the main blog title along with the topic. Note that I've chosen to make the main blog title be a link to the main blog.

Change:


<h1 id="blog-title">
<MainOrArchivePage><a href="<$BlogURL$">"></MainOrArchivePage>
<$BlogTitle$>

<MainOrArchivePage></a></MainOrArchivePage>

</h1>

To:


<h1 id="blog-title">
<a href="http://billyjoejimbob.blogspot.com">Billy Joe Jim Bob</a> - <a href="<$BlogURL$>"><$BlogTitle$></a>

</h1>
Comments. Since you've hidden comments, you'll want to point your readers back to the main blog to leave comments on the post there. I haven't yet come up with an algorithm for pointing directly to the comments form of the given entry on the main blog, so I've simply added the following after the section that begins with 'posted by...'

<MainOrArchivePage>
<a class="comment-link" href="http://billyjoejimbob.blogspot.com">Comment from the Home page</a>

</MainOrArchivePage>
Topics in sidebar. One last thing you'll probably want to do is add your topics to the template. Look for a line that looks like this:

<!-- Begin #sidebar -->
Under this line—placement at your discretion—you'll add something that looks like this:

<h2 class="sidebar-title">Topics</h2>

<ul class="archive-list">
<li><a href="http://billyjoejimbob.blogspot.com"> Home</a></li>

<li><a href="http://billyjoejimbob-advice.blogspot.com"> Advice</a></li>

<li><a href="http://billyjoejimbob-beards.blogspot.com"> Beards</a></li>

<li><a href="http://billyjoejimbob-poetry.blogspot.com"> Poetry</a></li>

<li><a href="http://billyjoejimbob-reading.blogspot.com"> Reading</a></li>

<li><a href="http://billyjoejimbob-scrapbook.blogspot.com"> Scrapbook</a></li>

<li><a href="http://billyjoejimbob-squib.blogspot.com"> Thoughts</a></li>

</ul>
(Caveat. Whenever you add a new topic, you'll need to update this section on all of your topics and the main and republish all of them.)

One more thing. One problem I've noticed with this method—at least when using Gmail—is that each post messes up the formatting on the main blog and you have to edit the post there to fix it. Unfortunately, Blogger sends <head> and <body> tags with the post to the BlogSend email address, and, unfortunately, Gmail just passes it on. What happens is that the HTML for the blog page then has two of each of these and it causes the Blogger NavBar to get hosed.

To fix it, edit the post in the main blog and remove those tags. Publish and it'll be fixed.

[UPDATE - 5 June 2006 Blogger has removed the head and body tags when posting to the BlogSend email address. Thanks, Blogger!! —JBH]

Summary

Having topics is a nice-to-have that Blogger doesn't offer. This is one way to make it do it. It's not a trivial process for the blogger, but it does offer some benefits to the reader.

Addenda and Errata. If you come up with some better processes to make this flow more smoothly, please let me know and I'll modify this entry on my blog. Likewise, if something is unclear or doesn't work the way I stated here, please let me know and I'll fix it.

As it has some value to many using this service, I will place a high-profile link on my blog so that it will always be easily accessible and edits will be easy to find.

--
Posted by Jim Bob Howard to Advice at 12/7/2004 08:22:02 AM
Post a Comment