You are currently browsing articles tagged navbar.

Tarski 3.1 is now available for download. It includes sub-menu support in the navbar, together with JavaScript-enhanced dropdowns to display them. For a full list of changes please consult the changelog.

Please note that WordPress 3.2 is required for this release.

Download Tarski 3.1.2

You can also get this version as a Git tag.

We strongly recommend following the upgrade guide. Always back up your files and database before running a WordPress or Tarski upgrade. Please ensure that you upgrade WordPress before installing the new version of Tarski.

Sub-menu dropdowns

This was definitely the most requested feature I’ve had in a while. I have some usability objections to dropdown menus, and played around with an alternative in the RC, but in the end I’ve gone for a more traditional approach. Mouse over the links in this site’s navbar for a demo of the new functionality.

Please note that they don’t work wonderfully well in Internet Explorer 6. If you want to use Tarski with dropdown sub-menus and you absolutely have to support IE6, I’m happy to commit any patches you provide.

Other changes

Apart from that, most of the changes in this version–although they are substantial–are under the hood, and involve cleaning up the code, removing deprecated functionality, and replacing Tarski-specific code with calls to new WordPress APIs. I’m always happy to be able to remove code without removing functionality, and I always feel that it’s a vindication when WordPress core implements some feature that Tarski has had for a while.

I should note that I’ve replaced all of Tarski’s JavaScript with new jQuery-powered code, and consequently those parts of Tarski now require jQuery. Given how widespread its use is now, and that WordPress itself depends on it, I don’t feel this is too onerous a dependency.

Finally, a small apology for taking so long to release this version. I’ve been really busy this summer and although the code’s been ready to go for ages, I couldn’t find time to run a final set of tests until today. As usual, if you spot any bugs please post them in the comments.

Tags: , , , ,

Tarski 3.0 is now available to install at your leisure. It adds support for new WordPress features like menus, default headers and the ‘aside’ post format. A detailed list of changes is available in the changelog. Please note that WordPress 3.1 is required for this release.

You can also get this version as a Git tag.

We strongly recommend following the upgrade guide. Always back up your files and database before running a WordPress or Tarski upgrade. Please ensure that you upgrade WordPress before installing the new version of Tarski.

WordPress menus

Tarski 3.0 removes the built-in menu functionality in favour of the core WordPress menu feature. This means that after you install the new version of Tarski you’ll need to reconstruct your site’s navbar. Just go to Appearance > Menus in the WordPress admin panel, create a new menu, and add it to the Tarski navbar.

Header images

Headers are also now selected entirely outside the theme. Tarski registers all its current headers as default headers which you can select from the Appearance > Header page in the WordPress admin panel, so if you were using one of the built-in headers, or had added your own to the /headers directory in Tarski or a child theme, you will need to re-select it from there. If you were using a custom header you had uploaded yourself, you don’t need to change anything.

Please post bug reports, suggestions etc. in the comments or email me.

Tags: , , , , ,

Tarski 2.2 improves Tarski’s compatibility with WordPress 2.6, tidies up various parts of the hooks API, improves performance, and adds a much cleverer navbar link selector. Details are in the changelog as per usual.

In my view, the best part of this release is a vastly improved navbar selector. It’s a major improvement over the old implementation for a few reasons, firstly because it actually shows you the structure of your pages: they’re not just a big long list, but a properly indented tree that allows you to see just where in the overall structure of your site a given page fits.

Secondly, some people have a lot of pages. Until now, if that was the case, the navbar selector would utterly overwhelm the options page. Now it doesn’t have to: each sub-list is collapsible, so you can reduce the list to just what you need to see at any one time. I’ve found it a great help . Which lists are collapsed and which aren’t is saved in the database, so if you collapse a load of menus you won’t find them expanding out again next time you visit the Tarski options page.

Performance improvements have been gleaned by only loading Tarski’s library of administrative functionality when you’re actually using the WordPress admin page, not for every visitor hitting your front page. In addition to this, paginating archive and search pages is now the default, and the code that removes pagination and shows all the results for a given year, tag or search query has been reimplemented in a more optimised way that generally reduces the number of database queries required to generate the page by a significant number.

Additionally, changes in the WordPress core in version 2.6 has allowed me to deprecate a large chunk of Tarski code in favour of simpler and more elegant WordPress API calls. This makes the Tarski codebase more maintainable and also helps with performance. Removing a few unnecessary Tarski API hooks also helps with this.

Lastly, I’ve tidied up Tarski’s gallery and image support a bit so it fits in better with the gallery functionality added in WordPress 2.5 and updated in 2.6. Galleries should now be styled a little more nicely, and individual image pages are cleaner. Hope you enjoy the new version.

Support requests should go in the forum as usual.

Tags: , , , , , , ,

Tarski 2.0.5 was initially slated as a pure bugfix release, but as with most things, it grew in the making. Details are in the changelog.

However, the most major features are the bugs fixed. To begin with, the navbar now reorders correctly, and no longer needs to save that order when pages are saved; more efficient and better-written code makes it all happen dynamically.

A problem with Tarski’s options saving and updating code was exposed by the new multiple authors checking instituted in 2.0.3, with the result that the save-and-restore no longer worked properly: restoring one’s options after deleting them would merely save the defaults to the database. The underlying issues have now been fixed.

On the new features front is one I know I’ll appreciate as I continue to improve Tarski: the code behind the version check is now a lot smarter. It used to just check whether the version grabbed from the stylesheet and the one in the database—now it can tell whether any given version is newer or older than the installed version, which lets us do things like show a notice on the Dashboard notifying the user that they’re using a development version.

Lastly, I appropriated some WordPress widget code to rewrite the recent articles section, with the result that it’s now added via an action hook, th_fmain, and can consequently be removed by a plugin as well as through the Options page. The recent articles’ excerpts also have WordPress’ excerpt filters applied to them too, so any plugin which adds or removes those filters will now work as expected on Tarski’s excerpts.

Enjoy the new version; all being well, it’ll be the last before Tarski 2.1, but I wouldn’t bet my life on it.

Please post bugs and suggestions on the forum.

Tags: , , , , , , , ,

There are a few more tweaks and bug fixes in Tarski 2.0.3, all of which are detailed in the changelog.

The update notifier has been the subject of a few improvements, including adding support for PHP‘s own file_get_contents function for people whose servers don’t have libcurl installed. Its error handling has also been made more robust, so when required PHP components aren’t available it will let users know what the issue is and how to resolve it.

If you want to use images as links but don’t like borders, the new imagelink2 image class will let you do that simply and easily.

There are a few text changes in this version, so if people could provide updated translations (shouldn’t take long) that would be wonderful.

Bugs and suggestions to the forum please.

Tags: , , , , , , , , , , , , ,

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.

Tags: , , , , , , , ,

When WordPress 2.1 was released, we made the mistake of not having a compatible version of Tarski ready. WordPress 2.3—which will be out pretty soon—includes a number of changes which will be significant for Tarski users, and consequently we were determined not to make the same mistake twice. Tarski 1.7 remains backwards-compatible with the WordPress 2.1/2.2 branch, but it’s decidedly forward-looking. You can mull over the details on the changelog.

Perhaps the biggest change is the removal of our Ultimate Tag Warrior support in favour of the new ‘core’ WordPress tags system. Unless you’re running the 2.3 release candidate, this means your tags will disappear until you upgrade your WordPress installation and import your UTW tags. Tarski’s new tags page template, which you can see in action on our tags page, uses the new WP tag cloud.

While the overall goal of 1.7 was to make Tarski compatible with the new version of WordPress, we also took it as an opportunity to polish our code a bit and add a few helpful new features. As you can see by casting an eye up to the navbar, the ‘Home’ link can now be renamed. People have been asking for this for a while now, and I decided it was time to give in. You can change that on the Tarski Options page; look for the ‘Navigation Options’ header.

Speaking of the navbar, we’ve fixed an annoying issue where one had to re-save one’s Tarski options to get the navbar to reorder. It now reorders automatically whenever you save a page (since that’s when you change the Page Order value). The navbar output has also been added to the hooks system, which means two things: firstly, the constants.php file is now fully replaced (at least as far as it’s going to be), and that you can now add links to the navbar using a plugin. I hope to use this functionality to add a more elegant, user-friendly way to include external links.

The update notifier improvements in the last release have received a boost too, as the version check is now cacheable. To enable the cache, you need to make sure permissions on library/cache/ in your Tarski directory are set to 777. More details are available on the Update Notifier page.

For those who prefer to use a header image as their website title, and hide the actual title, I’ve improved the code so the alt attribute description is the site title when the title isn’t displayed, and the image itself links home (when you’re not on the front page, of course). A pinch of CSS means things should display as before, but the way things work is a bit more closely aligned with the expected behaviour (i.e., the site title links to the home page).

Category and author archives have had their first improvement in a long while: if there’s a description associated with them, they’re now displayed instead of the boring “This is a category archive for…” or “You are currently browsing so-and-so’s articles…”. So if you view my posts, you get a brief sentence about me instead of generic filler text. In addition to this, the document body now has an id which is set depending on which page you’re viewing, so you could make a particular author or category archive display in a certain way just by adding some extra code to your custom style. We’ve also assigned HTML classes to certain elements of the post metadata, so you can style those more easily.

As I detailed in my article on Tarski Plugin Integration, the support for specific plugins is now gone, so if you want to carry on using those plugins with Tarski I strongly recommend giving it a read.

Many thanks to everyone who helped me track down and fix the various bugs in Tarski 1.6; hopefully 1.7 won’t have the same problems. Enjoy the new version.

Please post bugs, suggestions and new translations on the forum.

Tags: , , , , , , , , , ,

Tarski 1.3 doesn’t have the longest changelog in the world, but don’t let that deceive you; there are some substantial changes.

Obviously the major change is the new Tarski Options page, with an overhauled appearance as well as completely renovated markup. Functionally it’s little different, but it’s much better put together from a design perspective. Most of the help text, labels and so on were completely rewritten, so there’s a new POT file on the localisation page.

There’s also a new sidebar customisation option: those of you who like to write your own code can now make a user-sidebar.php file and tinker to your heart’s content.

Legacy version, 1.2.5

We’re actually releasing two versions today; the other one is Tarski 1.2.5, which has an even shorter changelog entry—just one item. 1.2.5 is a legacy version, intended for those who can’t (or won’t) get WordPress 2.1 or higher, which 1.3 requires. You can download it from the Legacy Versions page.

Thanks to everyone who’s helped us with Tarski; hope you enjoy the new release.

Bugs and suggestions on the forum as always.

Tags: , , , , , , , ,