Using nvUltra with Scrivener
nvUltra can work well as a MultiMarkdown “front end” to Scrivener’s external folder sync feature. This was one of those things I always wanted to do with nvAlt, but given its single folder architecture, and desire to place indexing files into that directory, it never worked well enough to make it a worthwhile approach.
nvUltra doesn’t add new subfolders, create indexing files within them or anything that might cause other programs using that same folder to produce a confused result. This makes it a fantastic tool for integrating with just about anything that can source content from a directory on the file system.
Setting up Scrivener
The best way to get started will be to create the sync folder from Scrivener first, since it has a formal (but simple) folder structure it will want to create:
-
Open the project you wish to link with nvUltra.
-
Use the
File ▸ Sync ▸ with External Foldermenu command. -
Click the
Choose...button and select a location to create the new sync folder. -
The flags in the “Options” and “Import” section are up to you. Here are a few notes on them that may be of interest, but all of the settings are suitable as defaults, so feel free to skip to step 5 if you just want to get a quick look of how this can work (refer to §14.3, Synchronised Folders in the Scrivener user manual PDF for detailed information on all of these settings):
-
Sync only documents in collection: this is an interesting feature if you’d only like to focus on a select number of items from your project. It can also turn this feature into an effective “inbox” for your projects. By placing no items into the sync collection initially, you will get a blank slate to work with from nvUltra.
As new items are synced into the project in the future, they will be automatically added to this collection, so that they maintain their sync status on the disk. Remove items from this collection to cause Scrivener to delete them from the disk and keep your nvUltra folder clean.
-
Prefix file names with numbers: enabled by default, this keeps the listing in Finder in order with the Binder in Scrivener, by placing a number in front of each file name, like so “23 - The 23rd file in the sync list”. If you’re working with a linear sequence of texts from Scrivener, it makes sense to keep this on. For a loose pile of notes, it’s probably just clutter.
-
Take snapshots of affected documents before updating: will create duplicate copies of each item before and after you sync in Scrivener. These duplicates will be kept internally to the project, and will not clutter nvUltra, so feel free to use them if you wish to add a little extra “safety net” to your workflow. It will protect the edits you make in nvUltra as well as Scrivener.
-
-
The most important settings to modify in this panel are in the “Format” section. For best results with nvUltra’s default settings:
-
Set both relevant options to “Plain Text”.
-
Change the ext to “md”.
-
-
The “Automatically convert plain text paragraph spacing” option will only be of interest to you if you primarily use Scrivener as a rich text editor. I use Scrivener to write in Markdown, so I leave this setting off, as I don’t want Scrivener to ever mess with my spacing.
-
That’s it, click the
Syncbutton.
Setting Up nvUltra
This part is easy. Use the File ▸ Open Folder... menu command, select the main sync folder (which should have one of “Draft” or “Notes” folders within it, depending on your sync settings. Thanks to how nvUltra marks folders, you can clearly see which items come from your “Draft” (typically what you’d use to write the bulk of your work in Scrivener), and “Notes”, which is a catch-all for every item in the binder other than those in the Draft folder. If you only use one or the other, you could target the subfolder directly.
Usage Notes
-
Renaming: You will notice that Scrivener adds a number in square brackets as a suffix, after every file it has synced at least once. It is very important that this number is never removed or tampered with. This number is used by Scrivener to link the content of the file back to the original binder item from whence it came.
The rest of the file name is up to you, but do note that Scrivener will not sync items that have not had their content modified, meaning renaming needs to be done in conjunction with other edits.
While the subfolder can be changed in nvUltra through renaming, this will have no effect in Scrivener, so it is recommended you make what would be binder level organisation changes within Scrivener, rather than the file system.
-
Inline Notation and Transclusion: in the Sharing: Sync preference pane in Scrivener, there is an option to convert text inside doubled parentheses or doubled curly-braces into inline annotations and footnotes, respectively. The latter will conflict with MultiMarkdown’s transclusion syntax. If you use that capability, you should switch this feature off, to avoid such markers being turned into footnotes while viewing the text in Scrivener.
Scrivener itself supports transclusion, both by internal binder names and by file system paths. The syntax for it is
<$input:/path/to/file>(which can be relative from the location of the project), or<$input:binder title>. Alternatively, if you intend for the dynamic nature to persist beyond compiling in Scrivener, and yet would still like to use its footnote conversion convenience on sync, consider using an intermediary syntax while writing (such as::/path/to/file::) and using compile-time Replacements to convert them back to proper MMD syntax ({{/path/to/file}}).
-
AmberV -- thanks for this detailed and thoughtful writeup! nvUltra's ability to work with multiple folders and subfolders, and to avoid putting "cruft" in your document folders was very intentional, for exactly these sorts of use cases.
0
Please sign in to leave a comment.
Comments
1 comment