mnyrop / annotate

low tech iiif annotations via jekyll 📜📝
MIT License
13 stars 16 forks source link

Use manifest/name as canvas label, to ensure uniqueness #4

Open pbinkley opened 5 years ago

pbinkley commented 5 years ago

Fixes #3

I've just used the existing manifest variable to pass the manifest name to the two methods that write Jekyll-style Markdown headers for annotations lists. They compose the canvas label in the form manifest + '/' + name. I haven't changed the annotations in the examples to use this form; they'll only have this problem if more examples are added that use the same canvas names as one of the existing ones.

I've tested it with bnf640. The copperfield example isn't working for me (every annotation I create gets assigned to 10.json); I haven't investigated why.

pbinkley commented 5 years ago

Whoops, it breaks if there are already annotations for that canvas. Hang on...

pbinkley commented 5 years ago

It turns out it does matter if new annotations are added to a canvas that already has annotations. The list.json doesn't get updated, so it still looks for the label f10 while the updated f10.json uses the label bnf640/f10. I'll leave it as is but if you think this is worth merging I'd be happy to update Rakefile to make sure list.json agrees with the annotation file, or else just to update all the list.json in the examples so that the problem won't arise.