Plain text alternative to Scrivener's "Scrivenings" view and it's ability to rearrange and order files?

Just to be ornery, I want to point out that it’s a little more complicated than that. When I started working, plaintext was EBCDIC. Then it was the ASCII character set. Now it is an ever-evolving set of Unicode points. :slightly_smiling_face:

Instructions would be very much appreciated. I have been using Scrivener and Obsidian together but in a more decoupled way. I use Obsidian for my story bible, research, and the tracking of needed edits then link to the Scrivener docs using Hook. I’ve used Scrivener + synced external folder before when doing audio proofing using Voice Dream Writer but never considered having Scrivener plop content directly into my Obsidian vault. I’d be fascinated to read your solution.

I must give credit to @brookter who provided me the invaluable instructions (below) without which I’d never arrived at this happy state–thanks @brookter!

Here are screenshots of how I have this setup. I thought screenshots would be more helpful than a lengthy explanation. NOTE: I have one folder for the book project. That single folder is accessed in Scrivener, Obsidian, and iA Writer.

WORKFLOW AS SHOWN IN MINDNODE

On the MBP, I use Scrivener to organize the writing, for creating folders, using Scrivenings, etc. On the iPad I use either iA Writer or Obsidian for extensive writing. I mostly use iA Writer for writing but the Obsidian app for the research. I prefer to write using the iPad when possible.

EXTERNAL FOLDER IN SCRIVENER

STRUCTURE WITHIN SCRIVENER
Structure in Scrivener

THE BOOK FOLDER IN FINDER

THE OBSIDIAN VAULT

THE FOLDER IN IA WRITER LIBRARY


Even though you obviously know how to use an external file with Scrivener, I’m posting the full instructions provided by @brookter because they may be a great help to others.

Synchronised Folders (aka External Folder Syncing)

This isn’t really a well-known feature of Scrivener (it’s seen as a bit advanced and it’s not mentioned in the Tutorial Document), but in principle it’s not that complicated.

But, because there are so many variables (there are different varieties of markdown syntax and different editors interpret the same syntax in different ways at one end of the process, and at the other, Scrivener can compile a project to hundreds of different outputs), it’s impossible to cover every possible combination of requirements simply… Nonetheless, I hope this gives you an overview of what’s possible.

Here are my assumptions:

  • I’ll look at basic markdown and multi-markdown syntax only, which are likely to be in any markdown capable editor;
  • I’ll assume that you’re going to compile a complete Multimarkdown document of the whole project (which you will then convert using other tools such as a browser, pandoc, LaTeX, Marked 2 etc — exactly as if you’re written the whole document independently in Obsidian or iA Writer etc). Of course you can use Scrivener to use this same project to produce an Epub, PDF, Manuscript, Word Document, etc etc etc, but that’s out of scope for this post…
  • I assume you know about Scrivener basics such as Collections, Inline Annotations and Inline Footnotes etc

The basic idea is this: as the name suggests, you set up a folder structure outside the project to act as a ‘holding area’ for files, in which you edit existing documents, or create new ones.

When you sync this folder then any changes or new documents in either the Binder or the external folder are reconciled and both are updated. (But don’t work on an individual document in both Scrivener and the external folder without syncing in between!)

This means that you can set up a folder in iCloud Drive / Dropbox / your desktop / iPad / any other OS and work on your project, even if Scrivener isn’t open (or even installed on that device at all). In fact, this was the mechanism by which we old timers used to work on projects on iPads before iOS Scrivener was born…

‘External Folder Syncing’ actually works for RTF files and Fountain plain text screen play formats as well, but I’ll concentrate on the markdown.

If you follow the instructions below, you’ll be able to create and edit most markdown documents outside your project, while still being able to use all Scrivener’s planning, organisational, and compilation features.

Basic workflow

  1. Setup the External folder from within Scrivener and sync for the first time.
  2. Edit existing documents in either Scrivener or the external editor.
  3. Create new documents in either Scrivener or the external editor.
  4. Sync the project from within Scrivener to update both the Project and the External Folder. (NB: Never edit an individual document in both Scrivener and externally simultaneously — always sync in between!)

That’s essentially it…

Setup

Use File > Sync > with External Folder where you’ll see the following options…

Here, I’ve chosen the external folder, and opted to sync all the documents in the Draft folder (i.e. my manuscript), as well as any other text file outside that (e.g. text documents in the Research group etc). Note that the process doesn’t work for PDFs, Spreadsheets, Images etc, only text files.

Note also how you can choose to limit which documents are synced by unselecting either or both of the first two options, and choosing a specific Collection in the Binder. This means you could, for example, create a Collection with only the documents with a certain Keyword, and only those will be synced — a very powerful feature.

Other important options:

  • Prefix file names with numbers’ allows for sorting and easy identification in the external folder (these numbers are likely to be changed when you sync).
  • Take snapshots…’ Means you can revert any changes if a sync goes wrong.
  • Check external folder…’ Means that I don’t have to remember to sync every time… If I’ve made changes or adding new documents externally while the project is closed, they’ll automatically be synced when I open this project again.
  • Format for…’ — make sure both these options are for Plain Text, but you must enter the extension md manually.
  • 'Automatically convert plain text…: this allows you to write in Scrivener without blank lines between paragraphs (or with virtual ‘Space After’) and the blank lines will be automatically added to the markdown when you sync (and removed when you sync back). I don’t use it, because I add the extra line manually in Scrivener as well…

Process

Once you’ve synced for the first time (using the above settings) you’ll find that your new External Folder has two subfolders: documents in your Binder Drafts/Manuscript group will be in, well, ‘Drafts’, and any other text files in ‘Notes’. If you delete files, they’ll also be a Trashed Files folder.

Note how the file names are (optionally) numbered — these don’t appear back in Scrivener, and they’ll be changed if you rearrange the Binder order after you’ve synced.

NB: don’t change this number manually, and don’t add numbers when you create new files — it’s an automatic thing and should be left alone. If you’re going to use links to the files externally, then you’re probably better turning this option off so file names don’t change and break the links.

You can edit any of these documents in any text editor, or create new ones in the folder, and the next time you sync, the changes will be reflect in the Binder.

When you’re ready, and back in Scrivener, if the automatic sync on open hasn’t kicked in, then sync manually with File > Sync > with External Folder Now (which avoids the initial setup dialog). Otherwise, close the project and it will sync automatically.

Any amended or new documents will appear in the ‘Updated Documents Collection’ (automatically shown). You’ll also see that a snapshot of the pre-sync state has been taken:

That’s it: not a complicated process at all after the initial setup.

NB: To repeat: you can leave Scrivener open while you work on the external folder, but don’t work on a file in both locations without syncing between editing. This will probably lead to tears at bedtime.

Markdown considerations

With this process, you are essentially using a plain text format inside Scrivener, even though the underlying file in the project is RTF. That means that RTF styling such as boldand italics, or RTF tables will not survive the conversion back and forwards.

So, syncing breaks RTF formatting which means that any formatting you use in the entire project must be in markdown syntax (bold, markdown tables etc). That’s not a problem for you because you want to stick to markdown and you’ll be compiling to a full markdown document (or take other measures in compilation), but it sometimes catches people out.

There are two exceptions to this ‘markdown syntax only’ rule I can think of:

  1. You can use document names in the binder for Chapter/Sections headings in the normal way and markdown syntax will be applied on compilation.You don’t have to add # Chapter titles in the actual text, though you can if you want to.
  2. Inline Annotations and Inline Footnotes can be converted to the external documents, where they will appear as (( Inline Annotations )) and {{ Inline Footnotes }}. You can add them to an external file and they will converted the other way on resyncing. This is a much more convenient method than standard markdown syntax, but you can still use the markdown equivalent if you want… To turn on this feature, go to Preferences > Sharing > Sync > External Folder Sync > Convert text inside (( )) and {{ }} to inline notes when syncing plain text.

NB: this only applies to Internal Annotations/Footnotes — Inspector Comments/Footnotes are not synced. If you’ve got any of those, use Edit > Transformations > Convert Inspector Comments to Inline Annotations or its footnote equivalents.

The next screenshot shows examples of a synced document in both Scrivener and in iA Writer (with Preview):

I hope it gives you a flavour of what you can achieve with just basic syntax.

More advanced use

The conversion will deal happily with standard markdown links ([BBC News](bbc.co.uk/news), and ![Illustration][Name of the image in the binder.png]) but you may find WikiLinks more complicated. This is partly because they’re not yet a standard feature, and even editors which do recognise them can implement them differently…

Scrivener itself does allow the [[WikiLinks]] syntax to create internal links within the project, but this is on creation in Scrivener only — you type the opening [[ and you’re given a choice of documents to link to (or create a new one), but this is an RTF link and the brackets disappear. The RTF link itself will not survive syncing to markdown. On the other hand, a wiki link entered in the external editor will have its brackets retained on conversion, but the link will not be automatically generated, so you’ll have to use one of Scrivener’s other methods.

Scrivener is very flexible and powerful in the ways it deals with images, links and cross references in general, and most if not all of those methods are available if you write in markdown format. But there are a lot of options, so if your manuscript relies on these features heavily, then you’ll need to spend time with the manual understanding how to get the best out of these features in advance before committing yourself too much!

BTW, the Scrivener Manual itself is the best advert for how powerful and flexible Scrivener markdown can be: it’s written in a combination of RTF syntax, markdown and embedded LaTeX and compiled through a customised LaTeX workflow. You can download the manual as a Scrivener project to see how it’s done… It’s far more advanced than most people are ever going to use, and I don’t understand half of it, but if you ever want to see just what can be achieved, it’s an interesting look…

Useful sections in the Manual:

  • S14.3 Synchronised Folders
  • S21 Using Multimarkdown and Pandoc.

@mykmug I hope this is of some help. Feel free to message me if I can provide more details.


IGNORE THIS–I accidently posted this to the wrong thread and deleted it. I got an error that this was “too similar to prior post” so I’m adding this meaningless text…

4 Likes

Wow, that’s incredibly helpful! Thank you so much for sharing.

1 Like

You are very welcome but again, the credit really goes to Brookter. I merely adapted his procedures to my needs and workflow. :slightly_smiling_face:

1 Like