Export From Scrivener to Ulysses, Preserving Filenames


I used to love Scrivener, but eventually, my 7-year-old novel started to take 5-10 minutes to sync, among other problems. All of Scrivener's fancy export options turned out to be totally useless--so useless that I wrote my own nodejs conversion utility to ease the pain of converting my MS from Scrivener to standard MS format. Ulysses is simple and works great.

I did have a few problems importing my with filenames.

Here’s what to do if you don’t care about filenames.

But if you do, read on.

Select all the files in scrivener you wish to export.

2018-06-30_18-21-24 (1).png

Go to File -> Export

2018-06-30_18-21-50 (1).png

Export with these options:


At this point, if you don’t need your file names to be preserved, then just drag and drop this folder into Ulysses and it will be imported, but you’ll lose your file names.

If you wish to preserve file names, add the created folder as an “External Folder” in Ulysses:


The next problem you face is that Ulysses won’t recognize .mmd files, only .md files. There are some things supported by .mmd files like citations and images which you may or may not need. You’ll lose these things if you simply rename. From a maintainer of of multimarkdown:

“MMD is a superset of the Markdown syntax, originally created by John Gruber. It adds multiple syntax features (tables, footnotes, and citations, to name a few), in addition to the various output formats listed above (Markdown only creates HTML). Additionally, it builds in “smart” typography for various languages (proper left- and right-sided quotes, for example).”

So you will lose those extra features if you simply rename. Now, if you're intimidated by shell scripts and things, you can just rename these files manually. But if you're interested, here’s the shell script I used to rename the files. I know this is kind of nerdy, but you’ll need to install homebrew and rename to use it.

Install homebrew.

Then run brew install rename

Then create a file named rename-ext.sh and paste in these contents:

find . -name "*.$1" -exec rename "s/\.$1/.$2/" '{}' \;

Run chmod u+x rename-ext.sh to allow you to run that file from the shell.

Change directory to the exported files with cd. Then: cd /path/to/my/export

Run /path/to/rename-ext.sh mmd md in that directory and rename all the file subdirs.

Profit. You’ll see all your files come up in Ulysses!

About the Author

Hi. My name is Jeremiah John. I'm a sf/f writer and activist.

I just completed a dystopian science fiction novel. I run a website which I created that connects farms with churches, mosques, and synagogues to buy fresh vegetables directly and distribute them on a sliding scale to those in need.

In 2003, I spent six months in prison for civil disobedience while working to close the School of the Americas, converting to Christianity, as one does, while I was in the clink.