RapidWeaver Add-ons Version Identifier
One thing RapidWeaver does poorly — at this current moment — is help the end user determine the product version they are using on any given 3rd party add-on. Knowing your add-ons (theme or plugin) version number is critical when asking for support and is often one of the first things the developer will ask you for.
If you know where the add-ons are kept (~/Library/Application Support/RapidWeaver/) then you might be able to determine a plugin or themes version number with the Finder, or if you have RapidWeaver open you can find out a plugin’s version by opening the plugin browser, or if you show a themes package contents and…
Well, I like to have these sorts of things at my fingertips and do as little thinking as possible, so I wrote an AppleScript to gather this information for me no matter where I am or what I am doing*:
-- file types to choose from
set rwTypeArray to {"Theme", "Plugin"}
-- choose from those file types
set rwTypeLong to {choose from list rwTypeArray ¬
with prompt "Which RapidWeaver product type ¬
you like to find the version of?" ¬
with title "Theme or Plugin"} as string
-- logic from result
if rwTypeLong is "Theme" then
set rwType to "rwtheme"
else
set rwType to "rwplugin"
end if
-- get name of hard drive
tell application "System Events"
set diskName to (get name of startup disk) as string
end tell
-- get name of user
set userName to (do shell script "whoami") as string
-- select file from RW directory
tell application "Finder"
set rwFile to (choose file with prompt ¬
"Please select your RapidWeaver " & rwTypeLong & ":" ¬
default location (diskName & ":Users:" & userName & ¬
":Library:Application Support:RapidWeaver" as alias) ¬
of type rwType without invisibles)
-- read version number
tell application "System Events"
set rwInfo to (get version of the file (rwFile as string))
end tell
-- and display it
if rwInfo = "" then
display dialog ¬
"It seems that your " & rwTypeLong & ¬
" doesn't have a version number that I can read. ¬
Sorry.\n\n¬
Would you like me to reveal it's ¬
package contents for you?" ¬
buttons {"Cancel", "Yes"} default button (2)
set rwPath to rwFile & "Contents" as text
open rwPath
else
display dialog "The version information:\n\n" & rwInfo & ¬
"\n\n ...has been copied to your clipboard." ¬
buttons {"OK"} default button (1)
-- copy to clipboard
set the clipboard to rwInfo
end if
end tell
Notes
* If a theme is to have it’s version number read, it must have an Info.plist in it’s package contents. Some theme developers do not include this file. For those that don’t, the script will reveal the theme’s package contents so that you can inspect the version number at the bottom of the Theme.plist file
Download
Get your fresh copy of RapidWeaver_Addons_version.scpt from CodeCollector.net
Rapidweaver Classroom Relaunches With Some seyDoggy Flair
There are so many cases when a developer can feel proud; new product launches, mention in the media, collaboration with other developers and so on… but nothing can quite compare to seeing your work and efforts brilliantly used in a manner that really make you look good. That’s the case for me today when I saw the relaunch of the popular site and RapidWeaver resource, RapidWeaver Classroom.
Ryan and I have worked closely together in the past. He’s created some tutorial movies for us and we have both been active in cross promoting each others services. Ryan is an absolute wizard when it comes to RapidWeaver usage and his students say his approach is kind, patient and always measured. So when Ryan asked if I could create a custom theme for his new site, I jumped at the opportunity.
Ryan knew exactly what he wanted and being the expert in RapidWeaver that he is, I knew he would have no trouble expressing his needs. We had a working draft in about a days time and we were able to nail down the final version in very little time.
Now that I have seen the final result, I can see why Ryan’s students sing his praises. He is truly a consummate professional in RapidWeaver circles.
A better way to CMS with RapidWeaver
There are some tools that come along and everyone just sighs, “How did we ever get along without this?”
Stacks from YourHead Software is one of those tools that made RapidWeaver more complete then we ever knew it needed to be. What makes Stacks so amazing is that it is what ever it needs to be to whoever needs it. So far it’s been a power layout tool of endless shapes and sizes, an ExtraContent device, and RSS scraper, a Twitter badge, a media player… and now, thanks to Joe Workman, a CMS.
A Content Management System (CMS) allows clients to edit their content after their web design/development staff has published the site. So far there have been only a handful of attempts to bring CMS to the RapidWeaver platform; WebYep and PlusKit’s @gdoc(()) implementation. The former requires site licensing and the latter rely’s on Google ever changing Google Docs API.
Now there is a CushyCMS(free) implementation built into a Stacks Library item (or Stacks plugin) available from Joe Workman. By simple dragging a CushyCMS stack onto your stacks page, anything you drop into that CushyCMS stack will be editable on the client side.
Brilliant!
Remembering XRAY
Every once in a while you test a tool and think to yourself, “I need to come back to that one when it matures”. The trouble is you never do… unless someone reminds you of it!
Thanks to “mcfinn” in my seyDesign Member Group I was reminded of a cool tool, XRAY, for analyzing the box model of any element on a web page with the click of a button. XRAY, a bookmarklet, is a quick and tidy way of grabbing some DOM info without having to wade through the whole DOM tree like FireBug and WebKits developer tools.
While the XRAY bookmarklet isn’t as powerful tool as FireBug, and it doesn’t have editing capabilities, it is very handy for quickly and accurately pointing out the styles effecting a specific element on a page. Just click the bookmarklet, then click on the elements you want inspected.
FireFox CSS Hacks
Sometimes it’s not Internet Explorer, and sometimes it’s not FireFox… Sometimes it’s (gasp) Safari. I always develop for Safari and then fix everything else but sometimes, just sometimes you come across a situation where IE7, IE8 and FireFox 3 all render the same way. By law of averages, wouldn’t that mean that Safari has it wrong? Well let’s not jump to nasty conclusions, that doesn’t prove anything right?
Well regardless, I’m not about to start hacking for Safari (on moral grounds), so that leaves CSS hacking for IE7, IE8 and FireFox 3 (IE6 is just a given so were not going there). IE7 and IE8 are dealt with well enough using condition comments, <!–[if IE 7]> or <!–[if IE 8]> for example, but CSS hacks for FireFox are a different beast.
Some time ago I stumbled across this guys trick that goes something like this:
#yourSelector, x:-moz-any-link {styles for Firefox 2.0 here}
#yourSelector, x:-moz-any-link, x:default {restore styles for Firefox 3.0 and newer}
You can read more about it there, but in short, the :-moz-any-link is a private Gecko selector that other browser just ignore. Be warned though, it doesn’t validate so you’ll want to move it out to a javascript file or something if you are concerned about that sort of thing.
I don’t use this that often (only once before in fact), but it sure is handy to have in the toolbox sometimes.
Control your processors in Mac OS X 10.5
Remarkably after nearly one month I am still trying to tweak my system just so. I think this is one of the last things though, my processor preference pane. By default, the CPU controls in Mac OS X 10.5 and not enabled and in fact, can’t be enabled unless you have the developer tools installed.
I like to be able to turn off some of my processors when I am just doing day to day web design and theme development. It’s a good way to save some energy (it’s good to be green) and to be totally honest, coding in HTML, CSS, PHP, Javascript and XML isn’t all that processor intensive. With the developer tool installed you can do this. There two things you can do, you can run the CPUPalette.app and/or you can install processor preference pane.
The CPUPalette.app can be found in /Library/Application Support/HWPrefs/. It’s a simple app that doesn’t allow much other than turning the processors on or off. If you click the little pill button in the top right-hand corner you can see a couple of basic preferences for window type, sampling rates and information display. It’s a quick and easy way to both monitor how your cores are being taxed and whether or not you can afford to shut a few of them down.
Your other option, if you you are already familiar with your processor usage, is to install the processor preference pane. Go to /Developer/Extras/PreferencePanes and find Processor.prefPane. Double click to install it. Once installed I highly suggest you click the “Show control in menu bar” for quick access. You’ll notice by installing the processor preference pane you get access to the CPUPalette.app without having to dig for it.
I Give Apples New Safari 4 Beta a Spin
Apple announced today the launch of their Safari 4 beta program that claims to lead the way with innovation. I had to test this claim so I immediately downloaded it and gave it a spin. Here are my findings:
- On initial launch you are presented with the “Top Sites” window in which it appears that Safari scours your history for the most frequently visited sites in your recent cache and then throws up their thumbnails in a Core Animation like black gallery for you to pick from. Selecting the edit button allows you to remove items and make others sticky. I presume you can also add others that might actually be more indicative of your “Top Sites”. Again, in true Apple form, Apple seems to be hinging the success of a product on visual wow factor, but admittedly I could see myself making use of this.
- My next reaction was when I created a new tab and found that, a la Google Chrome, the tabs are on top. Why? While I will most certainly get used to it, what is the actual reason for this? I can’t find and difference in their functionality apart from the fact that you can only drag them about from their corner. Aside from that you can still drag them, move them from window to window, create a new window with each tab… there is one option I hadn’t noticed in previous version, “Add bookmark for these X tabs”. Is that new?
- Coverflow in Safari… there have been a few plugins to address this in the past. I guess they are history now. Do I need Cover Flow in Safari? I don’t need it iTunes or Finder so I probably won’t use it here either. But that said, it must be a popular enough technology if they keep throwing it in to their software.
- History search. Now that I like! I have always found searching the the history in the bookmarks folder to be painful and unproductive. This history search is insanely fast and (in Cover Flow form) even shows you screen shots of the sites that match your search terms.
- It claims to be faster, using the Nitro Engine. It could be but browsers and web technology today is getting so fast I would be hard pressed to notice the difference. It does seem to be faster overall but am I reacting to the guts of a finely tuned OS X Cocoa application or the page load? One note I will make about making browsers faster (and Safari 3 is already guilty of this), they cache things… unnaturally so which can make web development a nightmare. Safari 3 already caches it’s javascript and images in ways that cause web developers to have to reset their browsers all too often just to get an accurate response on their new projects. And faster also means pre-load, again which Safari 3 is bad for. Safari 3 will scour your main CSS file in search of things to load (like background images), whether or not that thing is actually needed or even being used. I hope Safari 4 handles this a little better.
- The newish developer tools are nice (if your weren’t already playing with them in webkit), but I don’t know… it’s still not FireBug. You still can’t select code in the element window! How good is debuggin if I can’t edit what’s there or even copy and past it to a text editor? Seriously? As far as developer tools, these will give a glimpse into how your page is working, but they’re not much good for anything else.
- The full page zoom could be useful (hopefully not for a few years for me yet), but wow does it ever slow things down. Zoom in once and try page scrolling… not so fast now.
- I love, love, love the new address bar! If I am going to interface with browser in any way, it’s through the address bar so this improvement is quite welcome. Basically when you start typing in the address bar you are presented with much the same information your were before, but it’s clearly defined in two categories; history and bookmarks. In both cases it presents you with the site title followed by the URL which makes it very easy to get your bearings.
- The search field is now really slick too. It’s along the lines of Inquisitor, offering you suggestions and previous search queries. Very nice!
- CSS Animation, CSS Effects, CSS 3 Web Fonts… just more things to tease us web developers with. Stuff we won’t be able to use in the real world until all other browsers catch up. We can always dream though…
Overall, I think this is two things combined; a promising look at where web browsers should be and a sobering reminder of how much waiting for other browsers to get there will suck.
Stacks plus ExtraContent; it's a new Stacks Library item
So did you here the news? Possibly the most exciting thing to happen to themes, plugins and RapidWeaver all at one time! Back a couple of months ago we introduced you to ExtraContent, the new way of getting more out of the available RapidWeaver content areas. And a little while ago, YourHead Software introduced Stacks, a new way of building your page layouts in RapidWeaver. Then recently YourHead Software announced the the API that goes along with Stacks so that developer can build custom stacks to add to your Stacks Library. Are you with me here?
So what do you get when you put it all together? A custom stack made for ExtraContent enabled themes! Now you can access your ExtraContent areas of your ExtraContent enabled themes from the comfort of the Stacks interface. Utilize the layout power and elegance of Stacks to build exceptional ExtraContent layouts without having to so much look at a snippet or piece of code.
Here is the best part, the ExtraContent Stacks plugin is free. All you need is Stacks, and ExtraContent enabled theme and this custom ExtraContent stack and you have a world of possibilities in your hands.
Learn more about the ExtraContent Stacks plugin here, watch the tutorial here, download the ExtraContent Stacks plugin here and get YourHead Softwares Stacks for RapidWeaver.
YourHead launches Stacks 1.0
Fellow RapidWeaver developer, Isaiah of YourHead Software announced today that Stacks, a fluid layout plugin for RapidWeaver, is now official, hitting the big version 1.0. Those of you familiar with YourHead’s previous heavy hitting page layout tool, Blocks, will immediately recognize what this RapidWeaver plugin is all about, but the two are as different as night and day.
Don’t get me wrong, Blocks is a brilliant feat of plugin engineering and is the life blood of literally throngs of RapidWeaver users unable to do such layouts on their own. But it’s not a plugin that ever fit my web design sensibilities. The web is fluid, ever changing, growing, shrinking… for me, Blocks was too rigid.
Enter Stacks; a completely fluid, flexible, drag’n'drop all about layout tool for RapidWeaver that can generate oodles stacked up, blocked up, split up, embedded here and there kind of page layouts that only a pocket full of hand coded snippets could achieve perviously. Just like Blocks, Stacks allows to drop in text, HTML, images and whatnot, but then it allows to stacks onto stacks and those onto more stacks. You can make columns, columns in columns, columns where one column is an image, one is some code, one is some text, etc… drag that under some more columns… before you know it, you’ve got your very own 960 Grid System built into a RapidWeaver plugin.
If you are looking for the ultimate in flexible page layout with RapidWeaver, go check out Stacks. There are some great movies demonstrating the raw power of it and there is also and Stacks API if you’re interested in creating a custom Stacks library or two.
Life As a Theme Developer
Have you ever wondered what a day in the life of a professional RapidWeaver theme developer is like? Wonder no more because I am about to tell you.
02-18-09 07:22 – started writing this which will end up being a blog post on seyDoggy.com
02-18-09 07:23 – opening up Mailplane.app to have a gander at what support has crawled in overnight.
02-18-09 07:28 – popping in the the Realmac Software forum to respond to a thread I was notified about… nothing for me to add.
02-18-09 07:40 – helped potting training daughter go to the potty.
02-18-09 07:52 – responded to an email from the seyDesign Member Group.
02-18-09 07:53 – reacted to a Twitter follow request… followed.
02-18-09 07:56 – Twittering.
02-18-09 08:02 – responding to another Realmac Software forum thread.
02-18-09 08:04 – sifting through a bunch of press releases that I subscribe to.
02-18-09 08:18 – responded to a comment on seyDoggy.com blog.
02-18-09 08:19 – moving over to the support email account now. Checking the spam box since Google seems to deem all of my real support requests as Spam.
02-18-09 08:21 – yup, 7 messages caught in the spam box.
02-18-09 08:22 – opening up Parallels to confirm one users report of an IE bug with one of my themes.
02-18-09 08:24 – realizing that their complaint has more to do with screen size than anything else. It’s not a bug, me thinks. Keep testing.
02-18-09 08:28 – just got a wrong number on the support line. “seyDoggy who? I’m trying to call my sister.”
02-18-09 08:38 – yup, IE6 issue was just the end users window size. I like that kind of support.
02-18-09 08:50 – support taking longer then I hoped. Need some tunes.
02-18-09 08:59 – support is done.
02-18-09 09:00 – opening my calendar (a Fluid.app SSB of Google Calendar) to see what’s on the plate. My calendar is my mental mapping tool.
02-18-09 09:19 – more forum posting.
02-18-09 09:20 – back to calendar, deciding how long it’s been since I invoiced this one client before deciding to do more work for them. Have to be extra cautious in todays economy, not to get into too deep with any one client.
02-18-09 09:21 – going to do some site updates (in TextMate) for said client.
02-18-09 10:27 – just answered someones questions about M Cubed Softwares Code Collector Pro.
02-18-09 10:48 – syncing client changes via Panics Transmit.
02-18-09 10:57 – hmm… forgot to update the sitemap… and all the french <title> tags… ugh
02-18-09 11:06 – sitemap updated, french <title> tags updated, re-syncing.
02-18-09 11:26 – fresh coffee, looking at my calendar… what next…
02-18-09 11:28 – checking my @bugs tags in TaskPaper to see if there are any pressing bugs I should tackle… one in seyDoggy bloop! but it’s going to have to wait until I have the time for some extensive rewriting. It’s only an issue with one plugin so it’s not really a bug as much as it’s a compatibility issue. Moving on…
02-18-09 11:33 – continuing with Med Designs Bubblegum.rwtheme update. Adding some really cool new features to it. Checking my todo list within the theme to pick up where I left off on Monday.
02-18-09 11:54 – force quitting RapidWeaver after I jammed it up with a tricky Theme.plist move.
02-18-09 12:22 – commit current set of changes to the rwtheme package go make lunch.
02-18-09 12:54 – exercise… it’s important to get away from the office chair for a bit so you don’t develop deep vein thrombosis, but getting and walking about is boring. So I exercise; 50 pushups, 25 crunches, 20 lying-on-my-back-leg-lift-thingies, 20 of the same, but lying on my side, and then again, but on my tummy. Not only is it good for preventing DVT, but it helps my core compensate for slouching at my desk for hours at a time.
02-18-09 13:17 – back to Bubblegum.rwtheme update.
02-18-09 16:04 – committed a whole whack of changes to the Bubblegum.rwtheme. Time to wonder about the house for a stretch and maybe splash some cold water on my face.
02-18-09 16:08 – scheduled in two custom jobs, one for Friday and one for Monday… sigh.
02-18-09 16:23 – feeling refreshed. Time to get back at it. But it’s time for 10 minutes of fun; time to read a chapter of jQuery in Action.
02-18-09 16:45 – Well it’s time to call it a day and go embrace the inner chef in me. I hope you’ve enjoyed peering into a day in the life of a professional RapidWeaver theme developer.
