Notice the lame search feature

I finally got around to adding a lame search feature. Right now, it's just a box and button that employ Google to do all the heavy lifting, since Google's search facilities are much better than anything I'm likely to come up with in a reasonable amount of time. I'm planning to add a simple built-in search facility as well. You'll be able to configure the search via a planned "panel configuration" system.

I'm planning to make the sidebar, menubar, and banner customizable with a simple plugin system. Each plugin will know how to configure itself and store its configuration and you will be able to set which plugins are used and which order they are initialized in. Of course, this is all still a long, long way from finished, but you'll be able to see the progress on this site. Stay tuned!

Progress on next release

I've been puttering about with LnBlog a little the last few days. I've slowed down considerably from the somewhat frantic pace of the last few releases, which is undoubtedly a good thing. Now it's time to clean up the code and plan my next move.

The first order of business is to increase the flexibility of the code. To this end, I'm trying to encapsulate as much logic in the back-end classes as possible, with the intention that they will eventually be able to examine the run-time environment and automagically determine the correct paths, settings, and so forth. Basically, I want to be able to do the same kind of thing that I do with the filesystem classes with every other class, i.e. dynamically determine the proper subclass and create an instance transparently. One nice thing about doing this is that it would allow me to add an optional database back-end, so that the software would scale better for higher-traffic sites (in particular, I don't think the user account code would scale too well).

I'd also like to get together a framework for creating plugins. Right now I'm working on sidebar panel plugins, but I'd really like to come up with something more generic. For instance, plugins that allow you to add "smart-quotes" to entries or auto-generate acronym and abbreviation tags. Frankly, though, I'm not really sure how I'm going to do this. One idea is to simply make plugins a subclass of whatever they're plugging into. That allows pretty much infinite flexibility, but the problem is, then you can only use one plugin at a time for any class. On the other hand, I could just make each class have a list of active plugins and apply them when the class is created and at other appropriate times, but that seems a big ugly.

As you probably guessed, it's going to be a while before the next release. On the up side, though, I suspect it will be worth the trouble of upgrading. I'll try to post new developments here until them.