Hi everyone,
I’ve been using Scrivener for my fiction project, which has been fantastic for writing, but not so much for organising notes. That’s when I discovered Obsidian, and ever since, it has been my go-to for managing project notes. It’s perfect for structuring research and ideas in a non-linear way.
However, there’s one major issue: I wish there was better integration between Scrivener and Obsidian.
Scrivener does have an “External Folder Sync” feature, and I used it for a while, but it has some significant limitations:
• No support for folder structure: All synced files are placed in the root directory.
• Clunky setup: Configuring what gets synchronised feels cumbersome.
• Filename changes: Scrivener appends an integer to filenames, which is problematic for consistent organisation in Obsidian.
• Ignores Markdown metadata: Scrivener treats the whole file as plain text, disregarding things like YAML front matter in Obsidian.
What I Want to Achieve
I spent time researching Scrivener’s file structure and created a basic CLI tool in C# that could sync an Obsidian note to Scrivener. It worked well enough as a proof of concept, but I started to outline the broader features I’d need for a more comprehensive tool:
• Two-way sync between Scrivener and Obsidian.
• Support for folder structure in Obsidian: Allowing sub-folders in Obsidian to map to Scrivener.
• Synchronise Scrivener metadata with Obsidian: Keeping track of things like modified dates or UUIDs for proper syncing, either wish Obsidian YAML front matter and/or and plugin’s data.json
.
• Better handling of text imports: In Scrivener, a folder is a loose concept. Any file can be the parent of another file. I came up with an approach that would reflect this hierarchy in Obsidian—while maintaining consistency with both apps’ formats.
Why I’m Looking for Help (and to Help)
Here’s the catch: I’ve never coded JavaScript or TypeScript seriously (I come from a .NET background), and after a couple of weeks working on this, it’s clear that developing an Obsidian plugin would take me much longer than it would take an experienced developer.
I’d probably default to building a simpler tool just for my own use, but that would be a shame since it wouldn’t benefit anyone else. That’s why I’d much rather collaborate with someone who knows their way around the Obsidian plugin API, JavaScript, and TypeScript. I’m happy to help with specs, testing, and some coding, but I’d prefer to focus on my actual writing project while working with someone who can bring this plugin to life for the community.
If anyone in the community is interested in working together on a Scrivener-Obsidian sync plugin, I’d love to help build something that would benefit not only myself but also other writers using both tools.