nvALT 2.1 progress report

[Tweet : ADN : nvALT]

Development on the next version of nvALT is going more slowly than I’d like, but some very cool changes are happening. In addition to implementing the latest changes and fixes from the main branch of Notational Velocity, I’ve also worked in a few new features and a small bucket of fixes.

Usability fixes
I’m waiting for input from elasticthreads on this one, but for now I’m removing the hold-control-for-temporary-preview feature. It’s baffling for people who like to use Cocoa’s Emacs emulation when typing. Understandable, especially since it was undocumented.
I’m still working on a fix for the Spaces behavior, but that’s definitely a bug that will be squashed before the 2.1 release.
I’ve updated the External Editor feature to use scrod’s ODBEditor solution. Yes, this one consistently provides TextMate as an editing option.
MultiMarkdown 3
While I haven’t implemented the fully live preview that Fletcher is hoping I will, I have made nvALT compatible with MultiMarkdown 3, if you have it installed. It’s fast. nvALT will also check for metadata headers in your note, and if they exist it will export the straight MMD-rendered document (no custom CSS1).
Tag Sync
Totally not my doing. Darryl H. Thomas has been hard at work revamping the Simplenote sync and adding Tag Syncing to NV. I’ve incorporated his changes for testing, and things are looking really good.
Preview Window
The preview window is no longer a HUD, but rather a utility panel. This change was needed to add some additional features:
  • Lock the preview on a note so you can edit other notes and use it as a reference
  • Print the preview. This can easily be used to save rendered Markdown as a PDF
  • Icons for all features beyond the View Source button
Display preferences
You can now remove the grid lines and/or add alternating row colors to the notes list. It’s still one color across the whole window, but I may change it to allow a separate edit field color before release.

There’s more, but my primary goal for the next week is to work with scrod to implement all of the things he’s already fixed and bring nvALT up to parity with the trunk. It’ll be worth it. The source is back up on GitHub now, so if you want to see any of these changes in action (and have Developer Tools installed), feel free. Pull requests are welcome as well.

  1. This is because MMD 3 doesn’t have any override for “snippet” vs. “complete.” If you add headers, you’re getting a complete document. So… nvALT simply detects that and avoids outputting an HTML document with an <html> tag inside of the <body>. It’s not beautiful, but it’s the only sensible solution I’ve found thus far.