

(The search is Python-based and so somewhat faster than vim-grep). It doesn't have Deft's incremental search etc (I've used Emacs, so I know the features), but therefore you can tag your notes very comfortably, use auto-complete and, of course, search through the files. Let me know if you run into issues.It's a fairly sophisticated, and yet simple, note-taking platform. For those with the background knowledge to make it work, though, this should provide a pretty good solution. I know that running background scripts and Hazel tasks isn’t for everyone. Hopefully this script will satisfy some of the valid use cases I’ve heard for sub-folder support. I’m working on a rewrite (well, really a new app) that will incorporate some of the most common nvALT feature requests, but don’t expect any major changes to nvALT in the meantime. The Notational Velocity codebase that nvALT is built on has aged to a point where it’s nearly impossible to continue development for modern versions of OS X. Many, many people have asked for direct folder support in nvALT (along with myriad other requests).

#Nvalt fixing links to rename files update#
This method is more likely to prevent accidental overwrites as it will update both versions immediately when one changes. Just set up a trigger that runs /path/to/folderize.rb any time it detects a changed file. This method works well with something like Hazel (or anything that can watch both folders for file changes). The second method is to run with specific files as arguments. This method can be run on a schedule using launchd or cron. Note that if you make changes to both files before running the script, only the changes in the most recently-edited file will be preserved. If a version of the file in one folder has a newer modified date than its parallel version, the newer file is copied over the older one. Running the script directly with no arguments will simply parse all of your files in both your flat folder and your nested directory, looking for files that match any of your defined prefixes. UsageĪfter setup, Folderize can be run two ways: Running at intervals Running folderize.rb after configuration will automatically set up the initial structure, creating folders for defined prefixes and syncing matching notes. Thus, if I had a note called ‘xxx Ideas for nvALT.md’, it would be synced with the file ~/Dropbox/Notes/nvALT/Ideas/Ideas for nvALT.md based on the above configuration. The prefixes, such as ‘xxx’ above, denote the first word/characters of a note title that will be filed into folders. The configuration file ( ~/.folderize) looks like this: Only notes with defined prefix/folder pairs will be synced. Most importantly, it lets you define the prefix-to-folder-name conversion, allowing you to sync notes with simple title prefixes into more intuitively-named container folders. The file contains paths for your “flat” folder, and the root folder for your nested hierarchy.
#Nvalt fixing links to rename files mac#
Configurationįolderize works off a configuration file that’s written to your Mac user’s home folder the first time it’s run.

Run it once, and then edit ~/.folderize to define your configuration. A sample configuration file is generated at this location the first time you run folderize.rb. Make it executable with chmod a+x /path/to/folderize.rb.

To use Folderize, save this script as folderize.rb to disk (you can right click the link and Save). I make no guarantees and take no responsibility for lost data. Installationįirst, back up the files in your main folder. It serves as a system for creating a structure that’s easier to navigate in iOS note apps, or for separating notes that might be compiled into different books or projects. This script is designed for people who want to sync a flat folder of notes (a la nvALT) to a more organized system of nested folders.
