Updating My Blogging Tool
posted on 2005-09-05 at 23:08:09 by Joel Ross
Over the past few weeks, I've been struggling with a few small issues I have with my home-grown blogging client, dubbed the Rosscode Blogger (creative, huh?). It still did it's main job, but it wasn't fitting into my new blogging habits.
First, what is it, for those who've never read any of my posts about it. When I blog, I sometimes publish to more than one blog at a time. Every post ends up on Rosscode.com. Technical posts end up on GeeksWithBlogs, work related content goes to my NuSoft blog, and tourney related content heads over to my Tourney Logic blog. But doing that creates a problem for me. I don't want to go to each admin section and publish it that way. And most publishing tools don't let you post to multiple blogs at the same time. And, because of b2evolution, I needed to be able to create valid XHTML. And I wanted a good WYSIWYG editor.
So I created my initial cut. It was a windows application that?had a nice HTML editor that provided visual editing. I used the SGMLReader to convert HTML into XHTML. And I used a plug-in architecture to post to multiple blogs. On the right side is a list of all plug-ins that support the IBlogExtension interface, which means any tool listed here will work with the Rosscode Blogger, or you can write your own - which I did, to support b2evo.
It worked great for a while. I've been using it since last November to post, so it's helped me create over 400 posts. But lately, I've started to cheat a little bit. I used OneNote to create posts, and then just copied them over to the Rosscode Blogger when I was ready to post. This allowed me to create posts but not finish them, and work on them for a few days before posting them. There were downsides though. First, I couldn't easily add custom HTML to OneNote - it's HTML editing is less than ideal. So I would have to create the post, copy it over, and then add the HTML I wanted. Also, to get rid of the formatting by OneNote, I had to paste it into Notepad, and then copy it over, and that caused issues too.
So I started thinking about what I could do about it. There were a few features I wanted: be able to edit multiple posts at the same time. I didn't want to worry about saving each post individually - it should save automatically. And I didn't want to lose any functionality I already had.
So I looked at the TabControl available in windows. Now, keep in mind that I've never built a professional windows application - ever! So, while I got it working, it's implementation is probably less than ideal.
Anyway, here's what I have so far. I can easily add new tabs to write new posts in, and the old tabs are unaffected. There's a section to select which plugins to poist to, and?a way to configure those plugins. And any content written is saved under any of the following conditions: You explicitly save it, you close the application, or 1 minute passes - it's saved automatically every minute. The rest of the functionality is pretty basic uses of the HTML editor, or adding short cuts to common functions, such as inserting a link, posting, or creating a new tab. Here's a quick screen shot while writing this post.
You can click it to see a larger image. It's nothing fancy, but it works. You can even see what I'm working on right now.
I'm contimplating a few changes already. I want to work on some tagging integration (more on that later), and I need some refactoring to make it more flexible to changes. I also need to get a little better at windows UI design - to make the whole thing flexible to resizing.
Anyway, that's how I blog now!
Categories: Blogging