Tarski’s development reflects my own view of best practice: steady, incremental improvement rather than the occasional total rewrite. Sometimes, however, a small revolution is needed, and Tarski 2 provides one.
The new version includes a raft of changes. Taking a look under the hood one might be tempted to say that it’s an entirely new theme, but the experience should remain largely the same, both for admins and users.
Tarski’s options code has been rewritten from the ground up, making all sorts of new features possible. You can now select different widgets for posts and pages than are displayed on the rest of the site. It’s also possible to delete Tarski’s options entirely; however, they’ll remain in the database for another two hours, so if you delete your options by accident, you’ll be able to restore them within that window.
People shouldn’t have to learn PHP in order to use WordPress, or Tarski, but until now a modicum of technical know-how was required in order to add links (other than WordPress pages) to Tarski’s navbar. Now you can simply designate one of your blogroll links categories, and all the links in that category will be appended to your Tarski navbar.
Several people in the forum wanted tags to display everywhere, not just on single post pages, so we’ve added an option for that to the Tarski Options pages. The same goes for reversing the order of the title: now you can have the title of a post appear before the name of your site, just by ticking a box on the Options page. Finally, you can choose to link to either Atom or RSS feeds.
WordPress has automatically generated both types for quite a while now, but Tarski hasn’t linked to them—an oversight I’m very happy to have corrected. In addition to the site feed, the following page types now have automatically generated feed link elements in the document head: category archives; tag archives; day, month and year archives; and finally, searches.
Another request was for Microformat support. A couple of things made it into Tarski 1.6, but Tarski 2 brings hCard to posts and comments, and hAtom to posts.
Tagging also gets a boost with proper support for tag intersections and unions. Templating functions for this kind of thing aren’t even in the WordPress core yet, and it’s nice to be ahead of the curve for once. To see it in action, go and have a look at what’s tagged with bugs or features, or bugs and features. Before Tarski 2, all you’d get is the first tag’s name in the title. Now the title lists all the tags, and whether it’s an intersection (and) or a union (or).
With all the rewritten code comes a new structure: the files in Tarski’s library directory have been completely reorganised. Included code libraries (right now, just the Feedparser library which does the heavy lifting for Tarski’s version checking mechanism) go into library/includes, while PHP classes (and supplementary functions) go into library/classes (right now it’s just the Version and Options classes).
All Tarski’s CSS files, apart from style.css and the alternate styles, go into library/css, while JavaScript files are in library/js. Finally, Tarski’s large functions library has ended up in library/helpers. This new structure makes development easier, since it’s easier for me to remember where everything is, and it cleans up a lot of horrible, messy code that had been hanging around (in many cases) since the first release of Tarski, back in March 2006.
We’ve come quite a way since then, and I’d just like to take a moment to thank everyone who’s helped along the way. People who’ve suggested ideas and reported bugs in the forum; people who’ve helped test Tarski; people who’ve provided code, or artwork, or a critical eye. Jordan Liggitt in particular deserves a lot of gratitude for his hard work on this release. He’s helped make Tarski easier to translate; written a migration routine to carry your options over into the new system; caught various bugs in the new code; and contributed a number of thoughtful suggestions on safeguarding against CSS namespace corruption and improving Tarski’s sidebar options.
Again, thanks to everyone who’s contributed to Tarski in some way, and I hope you enjoy using the new version.
Bugs and suggestions should be posted, as always, on the forum.

Tarski Plugin Integration
September 4, 2007 by Ben Eastaugh | 5 comments
As of Tarski 1.7, we will be removing the existing plugin integration from Tarski. This includes support for Subscribe to Comments, Gravatars and Ultimate Tag Warrior. What I hope to cover here is why we’re doing this, and how to successfully integrate Tarski with the plugins you want to use—whatever they happen to do.
WordPress’ plugin landscape is constantly changing: new plugins are released, older ones are abandoned by their creators. Functionality previously provided by plugins has been brought into the WordPress core code: first widgets, and in the upcoming 2.3 release, tags. Plugins relying on underlying third-party services like Gravatars and OpenID also change as these services run into problems or simply evolve in terms of their API.
This life-cycle is fairly normal, but our existing support for specific plugins in Tarski simply doesn’t acknowledge this reality. There are quite obviously too many plugins for us to support them all, or even a significant number of them. We’d also rather spend our time improving Tarski, rather than maintaining support for specific pieces of third-party code.
I say ’specific’ because what Tarski needs—and, in its theme hooks system, now has—is a generic way for plugin authors and users to make their code work with Tarski. It’s in need of better documentation, but it’s there, and it works; several times a week I offer advice to people on the forum as to how they can integrate their choice of plugin with Tarski.
Since the theme hooks system appeared in 1.5 we’ve been in a transition period, phasing out older ways of personalising Tarski installations (like the constants file). The next step is removing support for specific third-party plugins entirely, and that’s what we’re doing in Tarski 1.7. What follows is a rundown of the plugins, previously integrated with Tarski, that are having this support removed, and how you can add that functionality back in.
Widgets
WordPress Widgets are, as of WordPress 2.2, in the core WP code. As such, they’re still supported by Tarski, both in the sidebar and the footer. You can activate a widget-powered sidebar on the Tarski Options page.
OpenID
The extent of our OpenID support consists in testing a couple of plugins with Tarski and rewriting ugly OpenID URLs, so the status of this one doesn’t change: it works with Tarski, and should continue to do so.
Brian’s Latest Comments
The functionality offered by Brian’s Latest Comments plugin is now available in WordPress as a widget. Consequently, we’re simply removing the support for this altogether—if you want to carry on using it, use the widget.
Gravatars
Gravatar had some well-publicised problems, but is now back with a rejuvenated service. You can add Gravatars to Tarski (or any other theme, for that matter) by writing a plugin to buffer the Gravatar plugin function, extract the info, and add it into the comment content by adding a filter to the
comment_texthook. The Using Gravatars page on the Codex has more.Subscribe to Comments
The popular Subscribe to Comments plugin actually adds itself, if you upgrade to the latest version (which, of course, I recommend).
Live Comment Preview
Previewing comments is a feature I wish WordPress came with; Live Comment Preview is a JavaScript-powered halfway house towards fully-fledged preview functionality. It gets added automatically by the plugin, so the loss of integration isn’t a problem.
Clean Archives
The SRG Clean Archives plugin has long been part of our Archives template. No longer. However, I’ve made a Clean Archives template available for those who want this functionality. Just drop it into your Tarski directory and change its extension to
.php, then select it as the template for your archives page as usual. I personally prefer version 2.2 of this plugin to the more recent, overly complex JavaScript-powered confection it seems to have become, but fortunately the plugin author has kept the older version available, and that’s what we’re still using. (Sean has responded in the comments.)Ultimate Tag Warrior
Ultimate Tag Warrior is probably the highest-profile of the casualties. As of WordPress 2.3, tags are available in the WordPress core, and consequently Christine is discontinuing the plugin. Tarski 1.7 supports the new WordPress tags and removes all UTW-dependent code. There’s no going back on this one, I’m afraid, although for those on a nostalgia kick we will be maintaining the WordPress 1.6 branch for the time being, which retains UTW support.
Tags: 1.7, Brian's Latest Comments, Clean Archives, gravatars, legacy, Live Comments Preview, OpenID, plugins, subscriptions, tags, theme hooks, UTW