Nevermind the semantic differences between ‘post’ and ‘entry’ in relation to blogging, there’s a much more real problem in determining which of the two to go with when you’re designing a theme framework like K2.
WordPress uses ‘post’, and so of course it makes sense when designing classes for the title of a post to name it ‘post-title’ and for the content to be named ‘post-content’, right? Well until you want to add support for the hatom microformat, which has chosen ‘entry’ to denote an article (oh, there’s another one) and so uses ‘entry-title’ and ‘entry-content’.
Which one to choose? Yes, you could go with both, but that’s rather inelegant, and feels a bit like sitting between two chairs.
I chose to go with the hatom naming and trust that people can figure it out on their own, even though it pains me a bit to not conform to the ‘mother’ platforms naming conventions, I think the gain of hatom compatibility is worth it.
Eric mentioned something that I think is worth re-communicating here.
K2 hasn’t always been the most frequently updated theme in the official sense of us putting out releases. We’ve often poured changes into the repository and fed people the latest nightlies if they wanted to stay up-to-date. And by doing so we ‘trained’ everyone to think of the nightlies and subversion in general as place for (mostly) stable updates.
And we try to keep it that way.
The new course is to instead be more rigorous with actual releases and in turn ween everyone off of using the nightlies and subversion for production purposes. This is important, because we’re already in the midst of some sweeping changes, and they will mean broken sites if you rely blindly on subversion or nightlies.
This release contains only a single extremely minor fix to a relatively rare but highly annoying problem concerning long titles wrapping around in the navigation area of permalinks, causing the headlines to be dislocated.
PS: I’ve set up K2 on Twitter, as that seems to be what all the youngsters are raving about these days.
For those of you wondering, here’s a quick tutorial on how to update your translation when we put up a new POT file.
Just a word of advice: Today I revamped our HTML structure, our columns functionality, added several new widget areas (while renaming the old ones), and a lot more. All of these changes are currently in the subversion repository, feel free to check them out, however understand that if you already have a site up and running, these changes are not likely to play well with any widget setups, styles or child themes. It is as usual best to stick with actual release for live sites.
There will be more on this soon, but consider this both a warning and a heads up, if you want to adapt your child theme or style for the next major release of K2. These changes, which massively simplify K2 and were previously planned for v1.2, but will instead find their way into v1.1, are meant to make K2 easier to get around.
The short-term downside is that there will be some extra work adjusting existing styles and child themes; but it’s definitely worth it (and should have been done a long time ago).
As promised, here is the first point-update of our 1.0 release. It’s 1.0.2 rather than 1.0.1, as that version number was spent getting K2 up to spec for the official WordPress Themes repository, where you’ll also be able to find K2 from now on (we got some great feedback from those guys by the way, so thank you for that).
The revision number for this version is 932, and here’s the changelist:
- Translation files (.mo) are now read from /languages/ in preparation for 1.1.
- Fixed has_post_thumbnail checking to improve compatibility with WordPress 2.8.
- Removed a couple of pure database calls in favor of core WP functions.
- Fixed rolling archives navigation showing atop of Lightbox.
- Updated a couple of translation strings.
- Fixed size of edit link in ping- and trackbacklist.
- Fixed #855: Absolute instead of relative links for WordPress’ theme editor.
- Escaped API updates.
- Fixed livesearch icons showing on initial load on IE8.
- Hide certain unneeded navigation elements when rolling archives are active.
- Cleaned up livesearch JS.
- Various CSS updates.
- Made pages accept normal comment/pingback links.
- Top menu handles too many items more elegantly.
- Added support for automatic feed links.
Meanwhile we’re already up to six translation in our new i18n repo, Danish, Swedish, Norwegian, Dutch, Spanish and Turkish (Update: And now also Latvian and German), and I couldn’t be more thrilled. But the more the merrier, so get in touch if you’d like to do a translation for K2.
Now skip on over and download 1.0.2.
With 1.0 behind us and 1.0.1 coming up shortly, we’re eyeing 1.1 which will see us focussing on getting our translation ducks in a row.
First up is a new guide on how to use and create translations for those of you thinking about getting your feet wet.
Furthermore we’ve created a new i18n repository which we’ll open for those wanting to submit and maintain translations. Those translations in turn will find their way into the 1.1 release and become a part of K2 from here on out.
Over the next few weeks we’ll try and get in touch with as many of the previous translators as we can, and start filling up the i18n repository with 1.0 translations.
Questions? Comments? You know where to reach us.
Happy new year.
Since K2 no longer ships with the SideBar Manager, the remnants of which allowed you to specify on which pages a widget would, or wouldn’t, appear, there have been some questions on how to retain the functionality. I suggest Display Widgets, which is a neat and tidy implementation of that exact same idea.
Yes. It’s true, revision 898 was the lucky number. For the impatient, go get it.
What is K2?
This is K2. You’re looking at it. K2 is a theme for WordPress based on experiences learned during the development and release of Kubrick, the default theme of WordPress since version 1.5.
K2 comes with a handful of elegant features, such as live search and live archives, as well as support for a variety of plugins. And most importantly, K2 was built with people like ourselves in mind; people who prefer to do their customizing through CSS files and child themes rather than through rigid options and presets.
It’s seen about half a million downloads in its lifetime, and is as a result pretty solid by now.
Onto the 1.0 Announcement
I never thought it would take this long, but then I never thought K2 would live this long either. I chalk it up to hard working folks like Steve and Eric, who helped keep K2 alive in my absence over the past year. Also of course, we wouldn’t be here without the help of Chris, Ben and Zeo. And, ehm, me. Thanks guys!
So what does 1.0 mean for K2? Well, first of all it means that K2 is at the best place it’s ever been. It’s solid as a rock both in terms of features and WordPress integration as well in terms of compliance with traditional web standards as well as microformats and ARIA. We’ve cleaned up in the codebase and K2 has lost some weight here and there (smallest download ever I think). And leading up to this 1.0 release, we’ve spent some time polishing up the interface details.
K2 was always meant to be a practical framework-ish theme, rather than a stunning looker. And as such it has a pragmatic beauty to it perhaps, but it’s real power is in its customizability through CSS (and of course child themes, though that’s a tad more complex, and in most cases unneeded exactly because we spent so much time on optimizing for CSS customizations).
Ode to SBM
It’s worth mentioning that the last remnants of the old SideBar Manager, or SBM, have now been removed from the codebase. It started out as a fully-fledged replacement for WP’s lacking widgets system and ended up as a patch-of-sorts to the widget system, allowing for widgets to be placed only on specified pages. But in the end, while the native widget system is still very much in need of an update, it didn’t feel right for K2 to try and cover that particular area of the administration interface. And besides, other plugins for doing just that exist already.
So instead of spending our time patching that system for an ever-changing WordPress, our time is probably better spent on more theme-specific functionality, like the rolling archives or livesearch systems, as well as keeping up with new WordPress features, like for instance Post Thumbnails.
Furthermore, we’ve got more semantic classes than the pope. Browser type, language, current layout type, date, day, year and so on. View Source and check out some of the
BODY classes; they let you do some pretty cool stuff using only CSS (like honoring Pirate Day for instance).
K2 is as always meant for use with the latest version of WordPress, which is of course 2.9. That said, we’ve done our best to retain compatibility and as such K2 should be backwards-compatible all the way back to 2.5. As always, if you have any problems, let us know.
The Road Ahead
There are two major things on the program for the 1.1 version of K2: Localization and Documentation. Capital letters and all.
We’ve had a lot of localization efforts from the community since we started, and it’s always been a dream that we would be able to ship those localizations with K2 and provide an easy way for it to ‘just work’. So that’s something we’ll be spending some time with. If you’re a localizer, or if you’d like to be one, head on over to our localization page and do your thing. We’ll get some more in-depth tutorials up as soon as the holidays give us some breathing room.
Also, it’s long been a dream of mine to see K2 properly documented. Not only in terms of what it can do, or how it does it, but also for things like how to actually do a localization, where it may be a bit hard to figure out how to get into it in the first place. So I’d like to do something about that.
And of course we already have a lot of other ideas, which will also start seeing the light of day in the coming weeks.
Enough Talk. Download!
Even though K2 has been stable and in a sense feature complete for a very long time, a 1.0 release has yet to happen. That’s about to change. That’s right, the temperature is dropping rapidly in hell, crafty engineer pigs are working on wings and propulsion systems and the US war efforts have seize… Two out of three isn’t bad.
I’ve gone through all the new issues in the issues database over the last few weeks and updated most of the ones that were floating around unassigned. Many of the open bugs have already been fixed, but there is still a substantial list of issues in need of more information from the reporters.
Beyond that, if you know of any issues, large or small, that aren’t already in the issues list, please take a minute to let us know so we can figure out what to do with it in relation to 1.0. In an effort to get the 1.0 happening sooner rather than later, I may be somewhat brutal in assigning new issues to the 1.1 milestone, but that doesn’t mean they won’t be dealt with. However, as you may have noticed, K2 development has a tendency to happen in short concentrated sprints. This is one, and if you want something noticed and fixed, now is a good time.
For our brave and tireless translators. I love you. But more than that, I hope you can find the time to update your localizations for 1.0. In return, my promise is that for 1.1 one of the main pushes will be to get the localizations into the trunk and support them with an easy language selector from the options page (also known as issue #793).
This release adds support for Threaded Comments and Child Themes. Styles have been improved. You can specify where Styles are stored at, activate multiple styles, and edit them in the WordPress Theme Editor. You can also now customize the Post Meta (the line that reads Published by John Doe…) without having to edit any code.
Subversion & nightly users: this release is revision 810. A list of bug fixes is here.
Download: K2 1.0-RC8
The K2 Sidebar Manager (Sidebar Modules) has been deprecated and removed from K2 in r774 and the upcoming nightly build. If you are still using the K2 Sidebar Manager and you are planning to upgrade to the nightly builds/future stable releases, you have two options:
- Option A: Start using Widgets.
- Option B: Install the K2 Sidebar Manager plugin. Extract the zip into your wp-content/plugins/ folder and activate it via the Plugins admin. This is the same K2 Sidebar Manager that was included with K2 1.0-RC7, bugs and all. However, this plugin will also work with other widgets-ready themes. There is no support for this plugin.
This only applies to 1.0-RC7. If you are using subversion or a nightly build, this does not apply.
There is a bug in K2 1.0-RC7 which causes K2′s layout to break with WordPress 2.7.1. If you are using or planning to update to WordPress 2.7.1 (which you should if you’re using WordPress 2.7), you have two options:
Option A: Download the fixed info.php and replace the existing: k2/app/includes/info.php.
Option B: Upgrade to the latest K2 nightly.
One more thing, there will be a 1.0-RC8 release of K2 and this release will not contain the K2 Sidebar Manager. Work is being done on a K2 Sidebar Manager to Widgets importer.
2009-02-18 Update: Added clarification.
The recent nightly builds did away with the page template: Default Template w. Comments. Their features have been consolidated into the default page/single template and can be activated through the use of Custom Fields.
To show comments in a page, add a new custom field with the name: comments and value: 1 (or on or yes, the value doesn’t matter).
To hide the sidebar in a page or a single post, add a new custom field with the name: sidebarless and value: 1 (or on or yes, the value doesn’t matter). You will now get a wide appearance without the sidebar when viewing the page or single post.
Does K2 work with WordPress 2.7? Well, this site is running 2.7, so that’d be a yes.
With regards to K2′s Sidebar Modules versus WordPress’ widget system, we’ve chosen to discontinue the SBM. Granted, the widget system isn’t nearly as cool as the SBM’s, but upkeep and maintenance is expensive for the two of us left, so…
This release fixes the bugs with SBM/Archives Page and WordPress 2.6. Subversion & nightly users: this release is revision 718. A list of bug fixes is here.
If you’re using the K2 Sidebar Manager, you will need to turn it off in K2 Options before upgrading to K2 1.0-RC7. After you have upgraded to K2 1.0-RC7, copy k2-disable-widgets.php (found at k2/app/includes/) to your plugins folder and activate it. This applies to all versions of WordPress that K2 supports.
Download: K2 Release Candidate 7
For the brave, here’s a list of file changes:
K2 is now fully compatible with WordPress 2.5. It is still compatible with WordPress 2.2 and 2.3. Subversion & nightly users: this release is revision 678.
- An option to dynamically reduce the number of columns to fit screen size.
- Support for Theme Style Sheet.
- Hooks and PHP support for Styles: mod K2 without needing to change the code.
- WP 2.5: Avatar support.
- WP 2.5: You can now manage uploaded header images through the Media Library.
- WP 2.5: Image gallery template.
- Various bug fixes.
Download: K2 Release Candidate 6.