Custom Web Page Stored in Scrivener Now Has Broken Links

I think this happened between v2 and v3, but I haven’t looked at this particular page for awhile so can’t say for sure.

Imagine a collection of adjacent USGS topo maps in PDF. The kind that also contain satellite photo coverage. I’ve placed thumbnails of the maps side-by-side in a custom webpage, with links to the PDFs. Hover over a thumb and get the map’s name. Click on the thumb and get the PDF. Of course back in v2 days I put the thumbnails, PDF files, and this custom web page into Scrivener. I’ll include a screenshot (using v3) for clarity.

To create this I made a folder in Scrivener (“USGS map data”), put all the thumbnails and PDFs into it. Then I went into the project’s XML file and discovered the file names Scrivener assigned. I next tweaked my HTML file using these new file names and used relative links. It worked perfectly in Scrivener v2.

With the advent of v3 we now have folders with UUID names, and our files hidden inside those. This means the locations of the thumbs and PDFs moved, as well as the location of the HTML file. Scrivener v3 correctly changed the thumbnail links (as you can see by the screenshot).

Clicking on a thumbnail no longer brings up (in Scrivener) the corresponding PDF (or any PDF). However I can click on PDFs stored in Scrivener (including the maps) and those open perfectly. There’s also the issue of v3 completely butchering the HTML format, binary-ifying it, and making it many times bigger than the original.

What’s happening? I assume since the tags for the thumbnails were correctly converted, the tags to the PDFs should also have been correctly converted. Can we no longer open a linked-to resource in Scrivener? I don’t see anything try to open in a web browser or the PDF viewer.

Thanks a million for your insight.


Unfortunately, it sounds as though you did something unsupported in v2 by linking to files inside the .scriv package. The .scriv package is private and can be changed during any update - you should never rely on the file names inside it staying the same over time, and should never really poke around in there except in extreme circumstances of retrieving data. Of course, it’s [I]your[I] data, so if you want to poke around and try unsupported things, you are of course welcome to, but it is always at your own risk. In this case, the change in file format between Scrivener 2 and Scrivener 3 will have broken any links you made in this way. You will therefore have to change all such links manually (and I cannot guarantee that they will not break again at some point in the future - I have no plans of changing the file format at the moment, but circumstances can change that at any time).

Scrivener knows nothing of your custom HTML and so will have converted nothing in it. I’m therefore not sure why your thumbnails are showing up, and I’m not quite sure what you mean by Scrivener butchering the HTML, as it will not have updated any HTML files during the 2 > 3 upgrade at all. During the update, all Scrivener does is move the files into the new locations.

All the best,

Keith, that sounds about right. :wink:

I wasn’t complaining. It fact I was impressed it still worked as well as it did. I was just wondering how to make it fully functional.

I got it going. That binary file contained a text copy of my original HTML file. Copied that text snippet out, moved it to my desktop, and massively tweaked the links so it would work in a web browser. Then I simply dragged it back into Scrivener. It does behave a touch differently than it did in v2. Instead of opening the PDFs in Scrivener it opens them in Acrobat Reader. As the PDFs are quite large at any kind of readable zoom and there are tons of layers to show/hide, I prefer Acrobat Reader. The new behavior saves me a step.

Hopefully I’ll finish this project before Scrivener v4 comes out. :slight_smile:

Thanks for a cool product.

Glad you got it working! That does sound an interesting use case, as unsupported as it is. :slight_smile:

Thanks for the kind words!

All the best,