The Omni Group
These forums are now read-only. Please visit our new forums to participate in discussion. A new account will be required to post in the new forums. For more info on the switch, see this post. Thank you!

Go Back   The Omni Group Forums > OmniFocus > OmniFocus Extras
FAQ Members List Calendar Search Today's Posts Mark Forums Read

OF iPhone HTML Export Script Thread Tools Search this Thread Display Modes
Hey folks. I've been using a custom script for a few weeks now that exports my OF tasks to a simple HTML file that's iPhone-friendly. Basically, I trigger it via a hotkey on my laptop, it exports the HTML file, and then transfers it up to my public webserver, where I can access it from anywhere via Safari on the iPhone. It's not a full interface, just a read-only view, which is totally sufficient for things like checking my errands list on my way home from work, etc.

I figured with the recent demise of the official OF iphone support, it made sense to share my early work on this. Of course, this was way more useful to me anyway, since my laptop is not an always-on webserver, nor do I want to punch holes in my home firewall.

So a skeleton of my script can be found at:

I hadn't actually looked at the OF iPhone rails app until after I wrote this, but it turns out they are using a similar technique, namely grabbing the OF data using AppleScript hooks from ruby. I then use another ruby library to help generate markup that's compatible with the IUI examples from

This script is not really a production-ready package. But if you'd like to try to run it, you'll run a couple one-time setup steps:

- install rubygems. If you have something like macports, try "port install rb-rubygems" in your terminal (you should already have ruby on your mac by default)
- "sudo gem install markaby"
- "sudo gem install rb-appscript"

Then to run the script, simply save it somewhere (we'll assume Desktop for now), and type:
- "~/Desktop/of_iphone_export_sample.rb"

And it will dump an HTML file to your desktop that you can put where you please.

My actual script varies in a few ways:
- Instead of dumping the results to a file on the desktop, I create a temp file and then have some more lines of ruby that upload it using SCP and ssh-agent managed keys to my webserver automatically.
- I changed the paths for iui.js and iui.css to reference a location on my target machine, so I don't hammer Hewitt's unofficially hosted IUI files.
- I make some calls out to the shell to show Growl notifications for the start and finish of the export, so I have some visual cue that it's working.
- I use Quicksilver to trigger an applescript that calls this ruby script using a hotkey, so I get one-keystroke access to the export whenever I've been updating my GTD.

Hope this is of at least a passing interest to some iPhone users out there. If there's a lot of interest, I would consider updating it somewhat, to make it more user-friendly, create a helpful installer, something like that. Alternatively, if the OmniGroup wants to run with an idea like this instead of a dedicated server, go for it!! You guys have the resources I don't to make a solution like this work better. One obvious solution would be to publish such an export to a .Mac account for easy viewing on-the-go.

Note, when you run the script, you either need to make it executable, or alternatively, just run

"ruby ~/Desktop/of_iphone_export_sample.rb"

Sorry for the confusion.
With this script as a base, I changed/added some functionality to make if work offline (without EDGE/Wifi on iPhone)

1. Generate a html page with from OF (your script)
2. Convert the html output to a DATA URI using the Perl version of FileMarkMaker
3. Convert Safari's Bookmark.plist to to plain text/xml
4. Replace the current Todo-list bookmark with the new bookmark
5. Save Bookmarks.plist file and convert it back to binary.

Then your tasks should be syncable only by running one script (which could be a toolbar button in OF or set as a QuickSilver trigger or a run as a Cron/Launchd job etc)

I'll test it some more and then post it here. Right now it would only work if you have one data-uri in your bookmarks but that shouldn't be too hard to fix.

Last edited by haraldmartin; 2007-10-15 at 05:22 AM..
I've tried to install Rubgems on Leopard. No success.

Any hints?
@RuleRulez: Ruby and Rubygems are already installed by default in Leopard. try "gem list" in Terminal and you will see. Install new gems like you did before, sudo gem install mygem
this script seems to be amazing! but i can't install it, on leopard i'm stuck with installing : "sudo gem install rb-appscript" ,
I get this:
pc20:~ misha$ sudo gem install rb-appscript
Building native extensions. This could take a while...
ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.

ruby extconf.rb install rb-appscript
can't find header files for ruby.

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
Thread Thread Starter Forum Replies Last Post
.html extension on dynamic html export pairustwo OmniOutliner 3 for Mac 3 2011-09-10 01:53 PM
script to export OOO to html and place on iDisk rhythmone OmniOutliner 3 for Mac 1 2008-08-27 06:32 AM
Export to HTML - What am I doing wrong? lsamberg OmniPlan General 3 2008-05-21 06:15 AM
OF iPhone HTML Export Script wkoffel OmniFocus 1 for Mac 0 2007-10-11 08:22 PM

All times are GMT -8. The time now is 02:19 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.