Hazel is a classic Mac automation tool which we last covered several years ago for version 4. This week Hazel is back with version 5, a major update which brings the tool out of System Preferences for the first time.
Previous iterations of Hazel existed as a preference pane within the macOS System Preferences app. While the interface remains pretty familiar in Hazel 5, it has finally been pulled out into its own full application.
Mac Power Users co-host David Sparks has released his latest MacSparky publication:
The Hazel Video Field Guide. Hazel is one of my favorite automation tools, and was recently updated to version 4. I bought it before I even downloaded the new version. That’s how great of a tool it is.
As David says: “The thing I love about Hazel is the way it can turn mere mortals into automation gods. Anybody can do this. You don’t need a lick of programming knowledge.” He’s right. Hazel is easier than Folder Actions, and a lot more powerful too. If you can write Mail.app rules, you can automate your Mac with Hazel.
But what if you’ve never used Hazel and want to jump right in and learn the best of what it has to offer? That’s where David comes in. In almost 2.5 hours of video, David will walk you through Hazel, showing you everything from the basics to more advanced features using AppleScript. I’ve been using Hazel for years and would call myself a power user, but I learned some new tricks from David in this guide.
I’ve always wanted to be able to access my iCloud Tabs directly from Editorial, but, unfortunately, due to the lack of an iCloud Tabs API, that’s currently not possible. Last week, however, when I linked to the iCloudTabs for Alfred project by Kevin Marchand and saw that the workflow was based on a bit of Python code, I realized that I could modify his script to find a way to make Editorial read constantly-updated iCloud Tabs from a text file.
What follows is a combination of a server-side script and an Editorial workflow to read and open iCloud Tabs within the app. The system works and I’ve been using it every day for the past week with good results.
I listened to the latest episode of Mac Power Users, where David, Katie, and my friend Bradley discussed their photo management workflows, the limitations of iPhoto and iCloud, and shared some tips on how to get the most of modern third-party photo services and Apple’s Photo Stream. It’s a great episode and a solid complement to our photo management episode on The Prompt, always with Bradley (he’s the photo management guru these days, having written a book on the topic). For both follow-up reasons and because it’s the new year and hence a good moment to re-evaluate how technology is supposed to be working for us, I thought I’d give an update on my photo management workflow.
Hazel is the key element of my paperless workflow and several other automation scripts I run on my Mac, such as photo backups. One day, I will get around describing my paperless system (which I have tweaked and perfected over the past months), but, today, allow me to link to version 3.2 of the app, which adds support for tags in Mavericks.
You can now create rules that check for tags in matched files and apply tags automatically. This is great if you want to process a bunch of files automatically and tag them instead of moving them into a folder. Hazel can pick up tags you’ve already created on your Mac, as well as create and replace existing tags if you want to type a tag’s name manually in Hazel.
Interestingly, Hazel can still set color labels (I assume for Mountain Lion users?) and it doesn’t show a tag’s color inline when editing an action – for me, it just displays a blue “token” for the tag with a white label. It’s really a minor issue – I have been testing the public betas with Mavericks support and they’ve been working well for me.
You can get Hazel here, and check out our review of version 3.0 and some of my workflows.
I’ve already expressed my preference for archiving webpages as PDFs rather than simple “bookmarks” on an online service. When I come across a webpage that I know I want to keep for future reference, I like to generate a clean-looking PDF file with selectable text that I can rely on for years to come.
Lately, I have become obsessed with turning longer articles I find on the Internet also into PDFs for long-term archival. For as much as I like Instapaper, I can’t be sure that the service will be around in the next decades, and I don’t want my archive of longform and quality content to be lost in the cloud. So I have come up with a way to combine Instapaper with the benefit of PDFs, Dropbox, and automation to generate documents off any link or webpage, from any device, within seconds.
Yesterday I put together an iOS and OS X workflow to generate PDFs remotely on my Mac, starting from a simple bookmarklet on iOS. On an iPhone or iPad, I can simply hit a button in Safari, and wait for Pythonista to turn a webpage (that’s already been passed through Instapaper’s text bookmarklet) into an .html file in my Dropbox, which is then converted to PDF and added to Evernote. It sounds complex, but in actual practice I can go from a Safari webpage on iOS to a PDF in the Evernote app in around 30 seconds. Hopefully you’ll find this quick solution useful; feel free to modify it and/or send suggestions. Read more
#MacStoriesDeals: 20% Off Hazel Screencast & Superstorm Sandy Donations
Last week, I linked to Mac OS X Screencasts’ Hazel tutorial, a 1-hour screencast detailing several Hazel features:
I have watched the entire video, and, indeed, I think it’s one of the best resources you can buy to get started with Hazel and understand all of the its potential. Screencast quality is good, with on-screen guides and labels, zoomed views on specific sections and menus, and clean transitions. The voiceover is concise and to-the-point. The video lasts an hour, but it passes quickly thanks to the provided examples and explanations – it’s definitely not boring, as most video tutorials can be nowadays.
Should you get it? Yes. If you’re new to Hazel, this will get you up to speed very quickly. And, even as a long-time Hazel user, the screencast refreshed my memory on several aspects of Noodlesoft’s app.
Thanks to Mac OS X Screencasts, we can offer a 20% discount off the Hazel screencast (regular price €10) with the coupon code MACSTORIES-IS-AWESOME. The coupon code is valid from November 1st - 18th. Simply head over to Mac OS X Screencasts’ website and paste our coupon code to receive a 20% discount.
But there’s more. For every screencast sold with our coupon code, Mac OS X Screencasts will donate €1.50 to American Red Cross to help people impacted by Hurricane Sandy in the United States. If you purchase the Hazel screencast without our coupon code, Mac OS X Screencasts will donate €3 to American Red Cross for every screencast sold.
The Hazel screencast offer is available here. If you’d like to donate to American Red Cross without having to buy the Hazel screencast, we recommend Apple’s own donation page available on iTunes.
UPDATE: Together with Mac OS X Screencasts we’re giving away 5 free screencasts for this Hazel tutorial. To enter, tweet to @macstoriesdeals with the hashtag #macstorieshazeltutorial and we’ll pick 5 winners later today! GOOD LUCK!
Automatically Save An OmniFocus Project As iThoughts Mind Map
After I posted about my OmniFocus > iThoughts mind-mapping workflow, several readers asked whether it’d be possible to only convert a specific section of OmniFocus to iThoughts format (as well as plain text and OPML). As Robin Trew, creator of the script, explains in the Help section:
Specify a sub-tree by the OmniFocus id of its root node. Defaults to None.
You can, in fact, slightly modify the script by adding an
-a switch and the ID of a particular project to restrict the query to that project and its subtree. This will work if you only want to export a specific Project to mind-map; Contexts have a different subtree structure in OmniFocus’ database.
For instance, I only wanted to create a mind map for my MacStories project. To do so, I control-clicked on the project in the app’s sidebar, and selected “Copy As Link”; this will give you an OmniFocus URL like
omnifocus:///task/oREye1BBxdg. The ID is the alphanumeric string after
Follow my tutorial, and add the -a switch as an additional filter:
python $HOME/ofoc_to_mindmap_018.py --output=$HOME/Dropbox/Maps/MacStories -m map.itm -c '0' --format=itmz -a oREye1BBxdg
Make sure to check out Robin’s script, as it’s much improved since the original release. You can also visit Robin’s website (and follow him on Twitter) for several AppleScript-related custom scripts and resources.
Two days ago, Ben Brooks asked on App.net if anyone had come up with a way to share Safari Reading List items to Instapaper. His question made me realize that it would be a fun project to find out, so in my free time I put together a workflow that runs automatically and in the background on my Mac mini.
Please note, what follows is a raw experiment. I have tested it, and it works, but it’s far from stable. It uses GUI scripting in AppleScript to mark Reading List items as read, and it heavily depends on iCloud, which, unfortunately, is far from reliable when it comes to bookmark syncing. Nothing should happen to your bookmarks (the script simply “reads” them), but backups are recommended, as usual. Read more