I’ve always wanted to host my own blogging software, rather than relying on Blogger, and their impending deprecation of FTP publishing got me moving on that.
After some research into various .NET blog software, I settled on BlogEngine.NET, to be hosted in my Brinkster account. I thought I would write a few notes on the transition.
The first thing to do was ensure that I could run a separate web application under the root – I have a “Pro” account with Brinkster, and setting up a new application at /codeblog/ took less than five minutes, through their online support.
Next was to download the BlogEngine source code (currently 1.6.0.0,) and open it in Visual Studio 2008; this went without a hitch. If you add it to source control, you’ll need to be sure that the files under App_Data remain writeable (I’m using the default XML file storage option.)
The next task was importing all my old posts into BlogEngine. I used Aaron Lerch's powershell script to convert from Blogger to the BlogML format. Follow the directions in the comments to get the script working, if this is your fist time messing with powershell; note that you’ll have to run powershell as an administrator. If you have two blogs under your blogger profile, they will be output as separate top-level <blog> elements to the output file; open the file with notepad and move the individual <blog> elements to separate files.
BlogML can be imported directly into BlogEngine, but first I had to replace some special characters that the powershell script didn’t handle correctly:
[’] - &rsquo; (right single quote, or apostrophe)
[‘] - &lsquo; (left single quote)
[“] - &ldquo; (left double quote)
[–] - &ndash; (dash)
[…] - &hellip; (ellipsis)
[†] - &rdquo; (right double quote)
Yes, there’s a character in that last group, you just can’t see it in any text editor I tried. You can, however, select and replace it from Visual Studio.
There were a couple of disappointments in this process: the tags were not imported from my BlogML files into BlogEngine (which is a bug,) and of my old links are broken, which I knew was going to happen. I can probably fix that with a little code, though.
All in all, a very easy transition. The default template was functional, and I spent a while working on the custom one you’re looking at now. The templates are easy to tweak and edit, and there are plenty available for download.