digirati-co-uk / delft-static-site-generator

Generates static sites from IIIF Manifests.
MIT License
8 stars 6 forks source link

Single manifest for all images in publication #131

Open sammeltassen opened 2 years ago

sammeltassen commented 2 years ago

Current situation:

For each illustration a separate manifest needs to be exported and linked within the markdown file. Example:

<Illustration source="KITLV-11908.json"></Illustration> <Illustration source="collectie-nusantara.json"></Illustration>

Improvement:

A single manifest for the entire article. The static site generator would look for a manifest in the content\illustrations folder based on the path variable in the front-matter:

path: "/en/publications/tu-itb" would look for the manifest content\illustrations\tu-itb.json. Alternatively, the markdown filename can be used (usually the same).

In the markdown file, a canvas in the manifest is selected with an integer:

<Illustration canvas=0></Illustration>

The canvas label (rather than the manifest label) is used for the caption next to the thumbnail; when opening the modal the annotation label and summary are used (current behaviour).

TBD: additional layout options, in relation with:

sammeltassen commented 2 years ago

To think about: what if a manifest for an illustration is already available elsewhere in the repo? There could be an alternative workflow that allows to embed any manifest (by id or url), select a canvas and add a custom caption in the markdown:

<Illustration id="https://raw.githubusercontent.com/libis/ca_tudelft_iiif/main/objects/95499e2d-d517-4c12-899c-83e2d7c3e8ce.json" canvas="0" caption="[caption]"></Illustration>

stephenwf commented 5 months ago

@sammeltassen I think it would be easier to have a new component that's available on the publication pages, so the existing ones can continue working as they do now.

In the new version, you can also add:

<Slot name="something-descriptive-abc" />

And then go and add page blocks. So it's possible to keep the Markdown fairly minimal, and use the UI for configuring these interactive elements.