Subscribe to
NSLog(); Header Image

Some New PulpFiction Styles

Ollieman has ported some of his NetNewsWire themes over to PulpFiction (and another reader called Vienna). They look great, and I've begun using the "Citizen Kubrick Mini" theme as my main theme since he notified me that he'd ported the themes earlier this evening. Ollie, however, takes a little shot at PulpFiction in his post, saying:

Vienna is a easiest to theme, NetNewsWire is the most complete (no surprise there) but somewhat archaic, and PulpFiction is a mess. Seriously PulpFiction sucks to theme. Why the lack of packages? Why to I have to use that bizarre "pftheme:" protocol thing? Seriously.

Ollie's post has since been modified to be a bit less volatile.

His reaction stuck out as the only negative reaction I've seen to PF's theming capabilities. We put a lot of energy into how theming would work, so I'm curious how it's failed Ollie. (Longtime PF users will recall that in PulpFiction 1.0, our theming was limited to a .css file with an odd way of modifying the default template. It's come a long way since then.)

NetNewsWire (as of 2.0.1, but not as of 2.0b10) changes any folders with the extension ".nnwstyle" into a bundle. It doesn't demand that style folders have the extension, however, and works just as well with themes in extension-less folders. (I just spent five minutes adding ".nnwstyle" to all of the NNW styles I've collected.) NNW's packages enforce a rigid naming system wherein the CSS file must be named "stylesheet.css" and the template, if a designer deviates from the NNW default, must be named "template.html."

With these bundles, it does not seem possible to access items in another bundle. I attempted to do so with Ollie's own themes (the Citizen Kubrick themes use a common set of images) with url(../otherthemename.nnwstyle/images/image.gif) and was unable to do so.

PulpFiction, on the other hand, reads all .html files in the Stylesheets folder. Styles can have an associated folder or not, and they can be named whatever you'd like. This makes editing styles, which both designers and users do, more user-friendly as two BBEdit windows named "template.html" and three more all named "stylesheet.css" would get mighty confusing after a short while.

Additionally, PulpFiction does not limit Styles to their own bundle, which makes it easy to share common images, .css files, javascript files, and more among themes - something Ollie could have done with his Citizen Kubrick and Dreamsicle themes. HTML themes without images or associated files also appear just as they are, as a plain old HTML file, limiting confusion and encouraging the user to have a look.

The pseudo-protocol "pftheme:" came about as a way of allowing folks to access the proper Application Support folder regardless of its location on a user's hard disk, as well as a way of accessing a level higher in the hierarchy than NNW seems to allow with its bundles. I spent 10 minutes trying to get Citizen Kubrick Mini to use Citizen Kubrick's images and as unable to do so. I doubt many users are concerned with the space wasted by havingfour copies of "adblock.css" and a few of the same GIFs in three or four themes, but PulpFiction would allow an "ollieman" folder to be consolidate these items.

Additionally, the "pftheme:" pseudo-protocol does other things like resolving aliases and hard links. The only advantage the NNW method (url(image.gif);) seems to have is that it requires slightly less typing than PF's method (url(pftheme:/citizen/clock.gif);). NNW's methods may allow for the same things, making the only real difference typing a little less (and, potentially, being confined to your own bundle's resources).

Last, but not least, I'm not sure what Ollie means by "the most complete." PulpFiction provides access to the subscription name, subscription URL, article title, body, date, time, and URL, creator, category, and label color. It takes images, javascript files, full CSS, and any HTML you want to throw at WebKit. I don't know what more NNW might provide in order to be "more complete," but we added all that we could think of to PulpFiction when it was in my hands.

That all being said, of course, I'm not a themer nor have I spent a lot of time looking into NNW's themes (beyond supporting the basic NNW themes in PulpFiction, which still works for over half of them). If Ollie wants to elaborate on his thoughts, by all means, I'd be interested in knowing how he thinks PF's theming could be improved. But, given that I no longer own PulpFiction, my interest is mostly academic.

3 Responses to "Some New PulpFiction Styles"

  1. I think the problem with url(pftheme:/citizen/clock.gif); is that editors that let me render as I edit do not support such URLs. That means that it's a lot harder to test because I have to be in PF to test. In NNW I can make a mockup page with fake headlines etc and just edit the CSS for it, which seems quicker to me. But it's not a large difference.

  2. While that's true, Steve, I'm not even sure NNW reloads themes as you load new articles. PF checks the theme and re-loads relevant portions just by clicking up and down (selecting a new article) in PF. And, as we know, real-world data usually trumps "mockup pages with fake headlines" for testing. Plus, testing inside the target application yields actual results - you never know when something may work differently in, say, Safari.

  3. I've responded.