Mar 06
2010
Another post, quickly and with less explanation…
The fact that Evernote processes HTML so much better than it does plain or rich text got me thinking and tinkering. I use Markdown (actually, MultiMarkdown) constantly, and it does a great job of turning plain text into valid markup. With (Multi)Markdown, even plain text becomes HTML that–when imported into Evernote–retains most of its formatting. To answer your question, no, I’m not obsessed with Evernote, I’m obsessed with problems I think I could solve. It’s unhealthy.
Please note, this requires that you have Fletcher Penney’s MultiMarkdown installed in ~/Library/Application Support/MultiMarkdown, and that the Perl files (MultiMarkdown.pl and SmartyPants.pl) are located in a ‘bin’ subdirectory (which is the default install). If you don’t have MultiMarkdown, you should get it anyway (all the cool kids have it), so head over to the download page and grab a copy. Now, on with the show.
I set this up originally as a TextMate command, intending just to be able to clip code snippets and free-form text to Evernote without thinking too much about it. That worked well, so I modified it to work as a System Service. Specifically, a Snow Leopard service, but I’m providing the Ruby script here and it can be modified for any Mac setup you want.
While it will work just fine on plain text with no markup, it does have a couple of “special” features. If you start a line with a # and a space (e.g.: # This is my header), which is a Markdown convention for a first-level heading, it will use that as the title for the note and strip it out of the text in processing. It only uses the first one it finds, but it will strip out any first-level headers in the selection. I’ll probably modify that later, or just have it leave them in. Also, a line that begins with “tags:” followed by a space and a comma-separated list of words will be split up and used to tag the new note. This is also stripped before processing. It handles spaces in multi-word tags, and odd marks at the beginning or end of a tag, but only one punctuation character, and only at the beginning or end of a tag. The code follows…
Continue reading “A better System Service for Evernote clipping — with MultiMarkdown…”
Dec 31
2009
Download the Evaluate Expression Snow Leopard service: EvaluateExpressionService.zip
This is a stripped down version of a command I have in the TextMate bundle we use at TUAW. It allows you to select any basic numeric equation and evaluate it, replacing the selected text with the results. It will ignore your text if it contains anything but numbers and basic mathematical symbols. Sure, there are plenty of ways to do calculations in OS X (Spotlight, Launchbar, Quicksilver), but I’ve had more and more incidents lately where I just wanted to do quick calculations inline, so I whipped this up. A little explanation…
Continue reading “A (fairly) simple equation evaluation service for Snow Leopard…”
Nov 12
2009
This is a quick and dirty Snow Leopard Service that scrapes Songza.fm to find a song related to your selected text in most applications. It replaces the selected text with an is.gd shortened link and the name of the first song it found (just to be sure you’re on the same page… literally). The code is also available as a TextMate command for those interested. Update: TextMate command with link selection popup.
The service (and TextMate command) require the Hpricot gem for ruby. In most cases, this should be installable from the command line with sudo gem install hpricot. If you see errors, you may need to update some Ruby components. Once that’s set, just install the workflow in ~/Library/Services and it should immediately start showing up in your services menu. Add a shortcut for it in Preferences -> Keyboard -> Shortcuts -> Services. Next time you’re tweeting or writing an email about a song, why not send a Songza link to back up your point?
Continue reading “Songza Lucky Link Service…”
Nov 03
2009
Clippable to Evernote will allow you to trigger the Clippable bookmarklet in Safari and copy the result directly to your “Unfiled” notebook in Evernote. This service is Snow Leopard-only. If you need it modified for Leopard and aren’t sure how, let me know. If there’s some interest, I’ll just work one up and post it.
To install in Snow Leopard, just unzip (double-click the zip file) the file and move the resulting .workflow file to [your home directory]/Library/Services. It should now appear in your Safari->Services menu, in Safari only. To add a keyboard shortcut to the Service, go to the Keyboard pane in System Preferences, choose the Keyboard Shortcuts tab, select Services on the left and find the Clippable… service on the right. Double click on the right side of the listing to enter a hotkey. I currently have mine bound to control-command-E, which works well for me in Safari.
Download here.
Nov 02
2009
So my modification of the Readability bookmarklet kind of snuck out before it was ready, but it’s my own fault. Now I’m scrambling a little to make it more presentable and less of a straight-up hack of the excellent original. I wanted to make a few things clear about my goals and purpose on this one.
First the entire project was really a subset of my attempt at a better Evernote clipper for Snow Leopard. One which allowed me to preserve code formatting and automatically remove comments and ads from the post, in a smarter fashion than the current Safari clipper does. I built it as a System Service and run it with a hotkey. You can download it and try it out, if you like. I’ll make a more accessible version with instructions shortly.
This is why I removed the formatting options from the bookmarklet… Evernote was going to strip all of that out anyway. Originally, I was just using the code to strip out ads and find the meat. The modifications to preserve code blocks, movies, etc. were simply working toward the “perfect” Evernote clip.
It works for what it is, but wasn’t really intended to be used without the Evernote Service. If I get enough feedback, and no cease and desist orders from the original creators, I’ll continue to modify it. One thing you can certainly do to help is provide me with URL’s to pages it fails on; the more scenarios I can study, the smarter I can make it.