Last week I created a new blog powered by
DasBlog. In order to use it you need to have some knowledge of html and CSS. .Net might come in handy as well. I guess most bloggers who are using DasBlog are developers, but it’s not restricted to developers.
Here is what I did to set up my blog:
- Downloaded the source for DasBlog at http://sourceforge.net/projects/dasblogce
- Unzipped the binaries. I did not use the source, but you can do that as well.
- In the unzipped folder I found readme.rtf, which basically tells you exactly what I’m telling you now.
- I then started the vb script file CreateDasBlogVdir.vbs. This script prompts you for a virtual directory and then sets everything up in IIS.
- After that I had to change the password for the admin user by editing the file dasblogce\SiteConfig\siteSecurity.config. Look for the tags.
- Now I could run DasBlog with http://localhost/DasBlog.
- I then used the admin user with my new password to start configuring DasBlog.
- The last thing I did was to create my own theme by copying an existing theme and tweaked existing CSS files, creating my own graphics and so on.
I found the theme Elegante which I though was quite nice, but I tweaked it a bit. Here is an overview of the file structure for this theme (I only show the most important files):
dasblogce
+ SiteConfig
- site.config
- siteSecurity.config
+ themes
+ YourTheme
- dayTemplate.blogtemplate
- homeTemplate.blogtemplate
- itemTemplate.blogtemplate
- admin.css
- base.css
- items.css
- rightSide.css
- theme.manifest
- web.config
File descriptions
site.config - Contain all configuration settings. Same as Configuration tab in DasBlog admin.
siteSecurity.config - Use this file to change admin password and add new users. This is also available in the User Settings tab in DasBlog admin.
dayTemplate.blogtemplate - Contain the date header for all blog items published on the same day.
homeTemplate.blogtemplate - Her you’ll see the complete structure of the site. If you want to change where the different elements are displayed (e.g. put the navigation menu on the left side), you can do this here.
itemTemplate.blogtemplate - This contains the structure of every blog item (post). Make changes here to alter the structure of information in a blog post. E.g. make changes that go beyond CSS.
CSS files - All descent themes have CSS files. You can either create you own set of CSS files and use them in the *.blogtemplate files, or you can change existing CSS files to your liking.
theme.manifest - This file is very important. Without it your theme will not work. DasBlog is looking for manifest files under the themes folder when it collects all available themes. Have a look at it and you’ll see it’s quite intuitive.
IssuesI had some issues while setting everything up. The first problem was while clicking trough the available themes to see if I found any I liked. When I selected the Mobile theme, I was unable to change to another theme. The Mobile theme did not display a dropdown for changing themes as the others did. If you have a look at site.config file, you’ll see that it contains a <theme> tag which holds the current theme. Change this to a theme of your liking.
My second issue was figuring out how to remove the themes dropdown. I didn’t want this on my site, so I change the file homeTemplate.blogtemplate. As I mentioned earlier this contains the base structure of the site, so if you want to do any structural changes, this is the place.
The last and most important issue (which is still not resolved) is publishing DasBlog to Windows Vista. As you know (
because you red this post), I’m running my blog on Windows Vista Beta 2 and IIS 7. It seems as DasBlog is trying to access some registry information about the current time zone and are denied access. I guess I’ll just install the source and see what I can find out, but that have to be some other time. For now I’ll have to continue using Blogger. It’s fine, but as a developer it’s nice to have a bit more control and options. And I also liked all the features in DasBlog which is not available in Blogger.