Use case with current workaround:
- I finish book 1 in a series and realize I’m going to make a trilogy in this world and so a “bible” would help. And: there are already lots of internal links all through this project.
- I create scrivener project
Bible.scrivto be that. - I take a bunch of documents in scrivener project A and
copy to projectthem into the Bible (thanks tons for that functionality BTW: I’m surprised how often I use it, and I love it!) - Then I use “right click and
copy document link” to collect all the old IDs (in project A) and the new IDs (in project Bible) in a google sheet, of all things. - export that sheet as CSV
- run a little script that is “full of danger and risk, so best not detailed here” involving
s/ID1/ID2/on all theA.scriv/Files/Data/*/content.rtffiles (and a comparable version for the new content inBible.scrivsince the new information there often has cross links also). That replacement also changesscrivlnk:tox-scrivener-item:and obviously adds the full paths (because relative paths don’t seem to work, at least on macos (intel)). - Bingo! I celebrate. Because I love the way that
x-scrivener-itemworks seamlessly and so wonderously, the fact that everything in this universe is plaintext so I can pull off a stunt like that, that I magically have a working Bible, and that I can still link in+out of that bible into my other projects that use it, etc. Yay!
Feature Requests:
- In step 3, a “move to project (and update links)” option in addition to the “copy” flavor (which doesn’t update links, for good and obvious reasons) would be sooo helpful.
- In step 6, it would be really handy for
x-scrivener-itemto be able to handle relative paths (this may be out of your control), so that if (actually: when) I need to move some of these projects (because e.g. they now belong in a folder for the series, etc.), I wouldn’t have to hack my script and re-run it to update all the paths. - I would love a Project Setting where I could list external reference projects (e.g.
Bible=>../Bible.scriv) such that when I opened a project and discover thatBible.scrivis now in a different place, the user could be asked where it is now, and the new path would be used for links to that reference. I recognize that it might be non-trivial to implement this one.
So: how’s that for 3 feature requests bundled into one?