Nanoblogger, is great and all that for static and local publishing and it's pretty good at only updating the bits that need updating and not every single page on the site (100+ pages), but I've been stuck as to how to then efficiently upload the changes to my iDisk.

It shouldn't have been a hard problem to solve since all I want is to copy all the files modified after the last upload. But, it's taken me a while to figure it out.

I couldn't get rsync to work even though others seemed to use it, it seemed to insist on copying everything, probably something to do with how the iDisk fails to handle file dates properly, plus rsync will read from my iDisk which is damn slow over a bluetooth modem, I don't want it to check there for what needs updating I just want to copy what I know needs uploading. I tried things like Synk, but that had the same problem as rsync. To slow: as it tries scanning it all on the receiving end. I definitely didn't want to use the built in idisk syncing, no way am I trying to sync that whole thing when I want to update a few pages. I was stumped. I knew it must be possible from the command line, but it wasn't immediately obvious since none of the copy commands: cp, ditto, etc support a "Modified after date" flag. I failed miserably to find anything via Google. Until I found this on Macosxhints. That then set me straight. You have to use find and pipe the output into cpio.

Now all I need to do is sort out my local publishing a bit. At the moment I've got two local copies. The active one which is full of templates and raw data, etc and a clean one which I update containing only the files required for publishing. There is no real need for all this duplication, but it was a quick way to solve the problems of filtering stuff for upload and for site syntax/xhtml validation in BBEdit.