@projektemacher/storymapjs 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG +121 -0
- package/LICENSE +365 -0
- package/README.md +128 -0
- package/dist/assets/demo-DYodj6d7.js +1 -0
- package/dist/assets/harness-UkbbPmC4.js +1 -0
- package/dist/assets/index-DDsPBPZA.js +1 -0
- package/dist/assets/main-BDSRsIiB.js +17 -0
- package/dist/assets/main-Bzm6THVj.css +1 -0
- package/dist/assets/modulepreload-polyfill-P2Xu9kJm.js +1 -0
- package/dist/context.json +35 -0
- package/dist/css/fonts/files/abril-fatface-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/abril-fatface-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/amatic-sc-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/amatic-sc-latin-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/amatic-sc-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/amatic-sc-latin-ext-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/average-sans-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/average-sans-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-100-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-100-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-200-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-200-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-300-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-300-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-500-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-500-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-600-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-600-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-700-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-800-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-800-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-900-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-900-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-100-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-100-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-200-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-200-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-300-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-300-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-500-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-500-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-600-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-600-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-700-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-800-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-800-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-900-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-900-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-wght-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-ext-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-wght-italic.woff2 +0 -0
- package/dist/css/fonts/files/bitter-latin-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/clicker-script-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/clicker-script-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/dancing-script-latin-ext-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/dancing-script-latin-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/eb-garamond-latin-ext-wght-italic.woff2 +0 -0
- package/dist/css/fonts/files/eb-garamond-latin-ext-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/eb-garamond-latin-wght-italic.woff2 +0 -0
- package/dist/css/fonts/files/eb-garamond-latin-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/fauna-one-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/fauna-one-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/gentium-book-plus-latin-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/gentium-book-plus-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/gentium-book-plus-latin-700-italic.woff2 +0 -0
- package/dist/css/fonts/files/gentium-book-plus-latin-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/gentium-book-plus-latin-ext-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/gentium-book-plus-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/gentium-book-plus-latin-ext-700-italic.woff2 +0 -0
- package/dist/css/fonts/files/gentium-book-plus-latin-ext-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-100-italic.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-100-normal.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-300-italic.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-300-normal.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-700-italic.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-900-italic.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-900-normal.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-ext-100-italic.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-ext-100-normal.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-ext-300-italic.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-ext-300-normal.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-ext-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-ext-700-italic.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-ext-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-ext-900-italic.woff2 +0 -0
- package/dist/css/fonts/files/lato-latin-ext-900-normal.woff2 +0 -0
- package/dist/css/fonts/files/megrim-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/megrim-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/old-standard-tt-latin-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/old-standard-tt-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/old-standard-tt-latin-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/old-standard-tt-latin-ext-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/old-standard-tt-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/old-standard-tt-latin-ext-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/open-sans-latin-ext-wght-italic.woff2 +0 -0
- package/dist/css/fonts/files/open-sans-latin-ext-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/open-sans-latin-wght-italic.woff2 +0 -0
- package/dist/css/fonts/files/open-sans-latin-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-latin-ext-wght-italic.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-latin-ext-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-latin-wght-italic.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-latin-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-sc-latin-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-sc-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-sc-latin-700-italic.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-sc-latin-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-sc-latin-900-italic.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-sc-latin-900-normal.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-sc-latin-ext-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-sc-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-sc-latin-ext-700-italic.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-sc-latin-ext-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-sc-latin-ext-900-italic.woff2 +0 -0
- package/dist/css/fonts/files/playfair-display-sc-latin-ext-900-normal.woff2 +0 -0
- package/dist/css/fonts/files/pt-sans-latin-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/pt-sans-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/pt-sans-latin-700-italic.woff2 +0 -0
- package/dist/css/fonts/files/pt-sans-latin-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/pt-sans-latin-ext-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/pt-sans-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/pt-sans-latin-ext-700-italic.woff2 +0 -0
- package/dist/css/fonts/files/pt-sans-latin-ext-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/pt-sans-narrow-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/pt-sans-narrow-latin-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/pt-sans-narrow-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/pt-sans-narrow-latin-ext-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/pt-serif-latin-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/pt-serif-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/pt-serif-latin-700-italic.woff2 +0 -0
- package/dist/css/fonts/files/pt-serif-latin-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/pt-serif-latin-ext-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/pt-serif-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/pt-serif-latin-ext-700-italic.woff2 +0 -0
- package/dist/css/fonts/files/pt-serif-latin-ext-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/raleway-latin-ext-wght-italic.woff2 +0 -0
- package/dist/css/fonts/files/raleway-latin-ext-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/raleway-latin-wght-italic.woff2 +0 -0
- package/dist/css/fonts/files/raleway-latin-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/roboto-slab-latin-ext-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/roboto-slab-latin-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/rufina-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/rufina-latin-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/rufina-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/rufina-latin-ext-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-300-italic.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-300-normal.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-500-italic.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-500-normal.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-700-italic.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-ext-300-italic.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-ext-300-normal.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-ext-400-italic.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-ext-500-italic.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-ext-500-normal.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-ext-700-italic.woff2 +0 -0
- package/dist/css/fonts/files/ubuntu-latin-ext-700-normal.woff2 +0 -0
- package/dist/css/fonts/files/unica-one-latin-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/unica-one-latin-ext-400-normal.woff2 +0 -0
- package/dist/css/fonts/files/vollkorn-latin-ext-wght-italic.woff2 +0 -0
- package/dist/css/fonts/files/vollkorn-latin-ext-wght-normal.woff2 +0 -0
- package/dist/css/fonts/files/vollkorn-latin-wght-italic.woff2 +0 -0
- package/dist/css/fonts/files/vollkorn-latin-wght-normal.woff2 +0 -0
- package/dist/css/fonts/font.abril-droidsans.css +108 -0
- package/dist/css/fonts/font.amatic-andika.css +126 -0
- package/dist/css/fonts/font.bitter-raleway.css +162 -0
- package/dist/css/fonts/font.clicker-garamond.css +149 -0
- package/dist/css/fonts/font.dancing-ledger.css +108 -0
- package/dist/css/fonts/font.default.css +278 -0
- package/dist/css/fonts/font.fjalla-average.css +113 -0
- package/dist/css/fonts/font.georgia-helvetica.css +88 -0
- package/dist/css/fonts/font.knightlab.css +467 -0
- package/dist/css/fonts/font.lustria-lato.css +275 -0
- package/dist/css/fonts/font.medula-lato.css +270 -0
- package/dist/css/fonts/font.oldstandard.css +160 -0
- package/dist/css/fonts/font.opensans-gentiumbook.css +167 -0
- package/dist/css/fonts/font.playfair-faunaone.css +145 -0
- package/dist/css/fonts/font.playfair.css +234 -0
- package/dist/css/fonts/font.pt.css +271 -0
- package/dist/css/fonts/font.roboto-megrim.css +108 -0
- package/dist/css/fonts/font.rufina-sintony.css +126 -0
- package/dist/css/fonts/font.ubuntu.css +237 -0
- package/dist/css/fonts/font.unicaone-vollkorn.css +144 -0
- package/dist/css/icons/README.md +4 -0
- package/dist/css/icons/emoji.png +0 -0
- package/dist/css/icons/emoji@2x.png +0 -0
- package/dist/css/icons/vco-icons.eot +0 -0
- package/dist/css/icons/vco-icons.svg +63 -0
- package/dist/css/icons/vco-icons.ttf +0 -0
- package/dist/css/icons/vco-icons.woff +0 -0
- package/dist/css/icons/vco-icons.woff2 +0 -0
- package/dist/css/storymap.css +2 -0
- package/dist/demo.html +17 -0
- package/dist/demo.json +479 -0
- package/dist/docs/api/.nojekyll +1 -0
- package/dist/docs/api/assets/custom.css +47 -0
- package/dist/docs/api/assets/hierarchy.js +1 -0
- package/dist/docs/api/assets/highlight.css +22 -0
- package/dist/docs/api/assets/icons.js +18 -0
- package/dist/docs/api/assets/icons.svg +1 -0
- package/dist/docs/api/assets/main.js +60 -0
- package/dist/docs/api/assets/navigation.js +1 -0
- package/dist/docs/api/assets/search.js +1 -0
- package/dist/docs/api/assets/style.css +1648 -0
- package/dist/docs/api/classes/StoryMap.html +799 -0
- package/dist/docs/api/functions/MediaType.html +51 -0
- package/dist/docs/api/functions/loadCSS.html +64 -0
- package/dist/docs/api/functions/setLanguage.html +53 -0
- package/dist/docs/api/functions/validateStorymap.html +53 -0
- package/dist/docs/api/functions/validateStorymapAndReport.html +54 -0
- package/dist/docs/api/hierarchy.html +28 -0
- package/dist/docs/api/index.html +127 -0
- package/dist/docs/api/modules.html +42 -0
- package/dist/docs/iiif.html +912 -0
- package/dist/docs/migration.html +264 -0
- package/dist/docs/readme.html +178 -0
- package/dist/embed/index.html +95 -0
- package/dist/examples/assets/placeholder-city.jpg +0 -0
- package/dist/examples/assets/placeholder-landscape.jpg +0 -0
- package/dist/examples/assets/placeholder-portrait.jpg +0 -0
- package/dist/examples/assets/tone.mp3 +0 -0
- package/dist/examples/bob-boilen.json +123 -0
- package/dist/examples/courbet.json +32 -0
- package/dist/examples/empty.json +5 -0
- package/dist/examples/flickr-drewvigal.json +341 -0
- package/dist/examples/flickr-zach.wise.json +341 -0
- package/dist/examples/iiif-wellcome.json +28 -0
- package/dist/examples/instagram-chenpamela.json +592 -0
- package/dist/examples/instagram_brentfoster.json +565 -0
- package/dist/examples/instagram_couch.json +402 -0
- package/dist/examples/instagram_joegermuska.json +687 -0
- package/dist/examples/instagram_matteich.json +341 -0
- package/dist/examples/instagram_mirandamulligan.json +402 -0
- package/dist/examples/instagram_raymondmccrea.json +341 -0
- package/dist/examples/instagram_test.json +341 -0
- package/dist/examples/issue-134-no-lines.json +78 -0
- package/dist/examples/issue-177-color-vars.json +44 -0
- package/dist/examples/issue-211-rtl.json +44 -0
- package/dist/examples/issue-272-facebook.json +47 -0
- package/dist/examples/issue-305-start-at-slide.json +95 -0
- package/dist/examples/issue-341-distance.json +44 -0
- package/dist/examples/issue-360-juxtapose.json +35 -0
- package/dist/examples/issue-368-null-fields.json +60 -0
- package/dist/examples/issue-375-code-lists.json +35 -0
- package/dist/examples/issue-381-dateline.json +77 -0
- package/dist/examples/issue-425-many-slides.json +2723 -0
- package/dist/examples/issue-428-background.json +62 -0
- package/dist/examples/issue-435-googlemaps.json +35 -0
- package/dist/examples/issue-437-documentcloud.json +35 -0
- package/dist/examples/issue-451-webp.json +35 -0
- package/dist/examples/issue-455-audio.json +35 -0
- package/dist/examples/issue-480-shorts.json +35 -0
- package/dist/examples/issue-506-marker-sync.json +77 -0
- package/dist/examples/jansteen.json +1 -0
- package/dist/examples/katrina.json +161 -0
- package/dist/examples/marktwain.json +341 -0
- package/dist/examples/population.json +463 -0
- package/dist/examples/president.json +454 -0
- package/dist/examples/seurat.json +248 -0
- package/dist/examples-iiif/bob-boilen.json +341 -0
- package/dist/examples-iiif/courbet.json +80 -0
- package/dist/examples-iiif/empty.json +29 -0
- package/dist/examples-iiif/flickr-drewvigal.json +1189 -0
- package/dist/examples-iiif/flickr-zach.wise.json +1074 -0
- package/dist/examples-iiif/iiif-wellcome.json +97 -0
- package/dist/examples-iiif/instagram-chenpamela.json +1716 -0
- package/dist/examples-iiif/instagram_brentfoster.json +1804 -0
- package/dist/examples-iiif/instagram_couch.json +1166 -0
- package/dist/examples-iiif/instagram_joegermuska.json +1946 -0
- package/dist/examples-iiif/instagram_matteich.json +1190 -0
- package/dist/examples-iiif/instagram_mirandamulligan.json +1171 -0
- package/dist/examples-iiif/instagram_raymondmccrea.json +1165 -0
- package/dist/examples-iiif/instagram_test.json +1185 -0
- package/dist/examples-iiif/issue-134-no-lines.json +245 -0
- package/dist/examples-iiif/issue-177-color-vars.json +182 -0
- package/dist/examples-iiif/issue-211-rtl.json +182 -0
- package/dist/examples-iiif/issue-272-facebook.json +146 -0
- package/dist/examples-iiif/issue-305-start-at-slide.json +300 -0
- package/dist/examples-iiif/issue-341-distance.json +182 -0
- package/dist/examples-iiif/issue-360-juxtapose.json +112 -0
- package/dist/examples-iiif/issue-368-null-fields.json +202 -0
- package/dist/examples-iiif/issue-375-code-lists.json +111 -0
- package/dist/examples-iiif/issue-381-dateline.json +244 -0
- package/dist/examples-iiif/issue-425-many-slides.json +8476 -0
- package/dist/examples-iiif/issue-428-background.json +191 -0
- package/dist/examples-iiif/issue-435-googlemaps.json +111 -0
- package/dist/examples-iiif/issue-437-documentcloud.json +112 -0
- package/dist/examples-iiif/issue-451-webp.json +111 -0
- package/dist/examples-iiif/issue-455-audio.json +111 -0
- package/dist/examples-iiif/issue-480-shorts.json +110 -0
- package/dist/examples-iiif/issue-506-marker-sync.json +244 -0
- package/dist/examples-iiif/jansteen.json +509 -0
- package/dist/examples-iiif/katrina.json +499 -0
- package/dist/examples-iiif/marktwain.json +929 -0
- package/dist/examples-iiif/population.json +1464 -0
- package/dist/examples-iiif/president.json +1351 -0
- package/dist/examples-iiif/seurat.json +870 -0
- package/dist/football.json +344 -0
- package/dist/harness.html +15 -0
- package/dist/index.html +410 -0
- package/dist/js/storymap.js +25787 -0
- package/dist/js/storymap.js.map +1 -0
- package/dist/site.css +592 -0
- package/dist/thumbs/bosch-garden.jpg +0 -0
- package/dist/thumbs/iiif-wellcome.jpg +0 -0
- package/dist/thumbs/katrina.jpg +0 -0
- package/dist/thumbs/marktwain.jpg +0 -0
- package/dist/thumbs/population.jpg +0 -0
- package/dist/thumbs/president.jpg +0 -0
- package/dist/thumbs/seurat.jpg +0 -0
- package/dist/thumbs/southern-literary-trail.jpg +0 -0
- package/package.json +105 -0
- package/schema/storymap.schema.json +192 -0
package/dist/index.html
ADDED
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>StoryMapJS</title>
|
|
7
|
+
<meta
|
|
8
|
+
name="description"
|
|
9
|
+
content="Maps that tell stories. StoryMapJS is a viewer for place-based slide stories, built on OpenLayers."
|
|
10
|
+
/>
|
|
11
|
+
<link rel="stylesheet" href="./site.css" />
|
|
12
|
+
<script type="module" crossorigin src="./assets/index-DDsPBPZA.js"></script>
|
|
13
|
+
<link rel="modulepreload" crossorigin href="./assets/modulepreload-polyfill-P2Xu9kJm.js">
|
|
14
|
+
</head>
|
|
15
|
+
|
|
16
|
+
<body class="sm-site">
|
|
17
|
+
<nav class="navbar navbar-dark">
|
|
18
|
+
<ul>
|
|
19
|
+
<li class="logo">
|
|
20
|
+
<a href="./index.html">StoryMap <span>JS</span></a>
|
|
21
|
+
</li>
|
|
22
|
+
</ul>
|
|
23
|
+
<ul class="nav-right">
|
|
24
|
+
<li>
|
|
25
|
+
<a
|
|
26
|
+
class="button button-dark button-active"
|
|
27
|
+
href="https://github.com/cmahnke/StoryMapJS"
|
|
28
|
+
>GitHub</a
|
|
29
|
+
>
|
|
30
|
+
</li>
|
|
31
|
+
<li>
|
|
32
|
+
<a
|
|
33
|
+
class="button button-dark"
|
|
34
|
+
href="https://github.com/cmahnke/StoryMapJS/issues"
|
|
35
|
+
>Issues</a
|
|
36
|
+
>
|
|
37
|
+
</li>
|
|
38
|
+
<li>
|
|
39
|
+
<a class="button button-dark" href="https://github.com/NUKnightLab/StoryMapJS"
|
|
40
|
+
>Upstream</a
|
|
41
|
+
>
|
|
42
|
+
</li>
|
|
43
|
+
</ul>
|
|
44
|
+
</nav>
|
|
45
|
+
|
|
46
|
+
<header class="header-product">
|
|
47
|
+
<h1 class="product-logo">StoryMap <span>JS</span></h1>
|
|
48
|
+
<h2 class="product-tagline">Maps that tell stories.</h2>
|
|
49
|
+
<a class="button button-secondary button-large" href="#overview">Get started</a>
|
|
50
|
+
|
|
51
|
+
<nav id="navbar-secondary" class="navbar navbar-subnav" aria-label="Page navigation">
|
|
52
|
+
<ul>
|
|
53
|
+
<li><a class="button" href="#overview">Overview</a></li>
|
|
54
|
+
<li><a class="button" href="#examples">Examples</a></li>
|
|
55
|
+
<li><a class="button" href="./docs/readme.html">README</a></li>
|
|
56
|
+
<li>
|
|
57
|
+
<a class="button" href="./docs/migration.html">Migration guide</a>
|
|
58
|
+
</li>
|
|
59
|
+
<li><a class="button" href="./docs/iiif.html">IIIF docs</a></li>
|
|
60
|
+
<li><a class="button" href="./docs/api/index.html">API docs</a></li>
|
|
61
|
+
<li><a class="button" href="#help">Help</a></li>
|
|
62
|
+
</ul>
|
|
63
|
+
</nav>
|
|
64
|
+
</header>
|
|
65
|
+
|
|
66
|
+
<article id="product-body">
|
|
67
|
+
<!-- The widget runs in its own document: its CSS can never mix
|
|
68
|
+
with the page chrome (and vice versa). -->
|
|
69
|
+
<section id="demo" class="container-fluid">
|
|
70
|
+
<iframe
|
|
71
|
+
class="demo-frame"
|
|
72
|
+
id="demo-frame"
|
|
73
|
+
src="./demo.html"
|
|
74
|
+
title="StoryMapJS demo"
|
|
75
|
+
></iframe>
|
|
76
|
+
</section>
|
|
77
|
+
|
|
78
|
+
<section id="overview" class="section container">
|
|
79
|
+
<div class="grid grid-size-2">
|
|
80
|
+
<div class="grid-item">
|
|
81
|
+
<p class="note">
|
|
82
|
+
<strong>Unofficial fork:</strong> this is an unofficial, unapproved fork
|
|
83
|
+
of the original
|
|
84
|
+
<a href="https://github.com/NUKnightLab/StoryMapJS"
|
|
85
|
+
>NUKnightLab/StoryMapJS</a
|
|
86
|
+
>
|
|
87
|
+
repository and a proof of concept for an AI-based renovation using the
|
|
88
|
+
model GLM 5.3 Flash. It is not endorsed by Northwestern University
|
|
89
|
+
Knight Lab.
|
|
90
|
+
</p>
|
|
91
|
+
<p>
|
|
92
|
+
StoryMapJS tells stories on the web that highlight the locations of a
|
|
93
|
+
series of events. This is a TypeScript rewrite of the original Knight
|
|
94
|
+
Lab viewer: it renders storymap JSON (and IIIF manifests) on modern web
|
|
95
|
+
maps — the authoring tool is not part of this repository.
|
|
96
|
+
</p>
|
|
97
|
+
<p>There are a couple ways you can use a StoryMap.</p>
|
|
98
|
+
<ul>
|
|
99
|
+
<li>
|
|
100
|
+
<h5>Maps</h5>
|
|
101
|
+
<p>
|
|
102
|
+
Add a slide for each place in your story. The viewer draws
|
|
103
|
+
cartography from OpenStreetMap or custom tile servers, and
|
|
104
|
+
renders the route between your places.
|
|
105
|
+
</p>
|
|
106
|
+
</li>
|
|
107
|
+
<li>
|
|
108
|
+
<h5>Really big images</h5>
|
|
109
|
+
<p>
|
|
110
|
+
You can tell stories with large photographs, works of art,
|
|
111
|
+
historic maps and other image files. Because it works best with
|
|
112
|
+
pixel-dense files served over the
|
|
113
|
+
<strong>IIIF Image API</strong>.
|
|
114
|
+
</p>
|
|
115
|
+
<p class="text-align-center">
|
|
116
|
+
<a class="button button-small" href="./docs/iiif.html"
|
|
117
|
+
>Learn more about IIIF</a
|
|
118
|
+
>
|
|
119
|
+
</p>
|
|
120
|
+
</li>
|
|
121
|
+
</ul>
|
|
122
|
+
</div>
|
|
123
|
+
<div class="grid-item">
|
|
124
|
+
<h3 style="margin-top: 0">Tips & tricks</h3>
|
|
125
|
+
<ol>
|
|
126
|
+
<li>
|
|
127
|
+
Keep it short. We recommend not having more than 20 slides for a
|
|
128
|
+
reader to click through.
|
|
129
|
+
</li>
|
|
130
|
+
<li>
|
|
131
|
+
Pick stories that have a strong location narrative. It does not work
|
|
132
|
+
well for stories that need to jump around in the map.
|
|
133
|
+
</li>
|
|
134
|
+
<li>Write each event as a part of a larger narrative.</li>
|
|
135
|
+
<li>
|
|
136
|
+
Include events that build up to major occurrences — not just the
|
|
137
|
+
major events.
|
|
138
|
+
</li>
|
|
139
|
+
</ol>
|
|
140
|
+
<h3>Media sources</h3>
|
|
141
|
+
<p>
|
|
142
|
+
The viewer can pull in media from a variety of sources: Twitter/X,
|
|
143
|
+
Flickr, YouTube, Vimeo, Dailymotion, Wikipedia, SoundCloud, Facebook,
|
|
144
|
+
DocumentCloud, Juxtapose, Google Docs, images, audio, video, quotes and
|
|
145
|
+
more.
|
|
146
|
+
</p>
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
</section>
|
|
150
|
+
|
|
151
|
+
<section class="section-color fill-color-grey" id="examples">
|
|
152
|
+
<div class="container">
|
|
153
|
+
<h2>Examples</h2>
|
|
154
|
+
<div class="cards cards-link" id="examples-cards">
|
|
155
|
+
<!-- Populated by /src/site/site.ts -->
|
|
156
|
+
</div>
|
|
157
|
+
</div>
|
|
158
|
+
</section>
|
|
159
|
+
|
|
160
|
+
<section class="section container" id="help">
|
|
161
|
+
<div class="grid">
|
|
162
|
+
<div class="grid-item" style="flex: 2">
|
|
163
|
+
<h2>Help</h2>
|
|
164
|
+
<p>
|
|
165
|
+
Need help? Start with the frequently asked questions below, then check
|
|
166
|
+
the
|
|
167
|
+
<a href="./docs/readme.html">README</a> and the
|
|
168
|
+
<a href="./docs/migration.html">migration guide</a>.
|
|
169
|
+
</p>
|
|
170
|
+
<p>
|
|
171
|
+
If you don't find an answer there, open a
|
|
172
|
+
<a href="https://github.com/cmahnke/StoryMapJS/issues">GitHub issue</a>.
|
|
173
|
+
Please be clear with your question, include the storymap JSON you are
|
|
174
|
+
loading and, if appropriate, a link to a page which shows the issue.
|
|
175
|
+
</p>
|
|
176
|
+
<p class="note">
|
|
177
|
+
<strong>Find a bug?</strong> If you are confident you have found a bug,
|
|
178
|
+
please report it as
|
|
179
|
+
<a href="https://github.com/cmahnke/StoryMapJS/issues">a GitHub issue</a
|
|
180
|
+
>. Be sure to include detailed instructions on how to reproduce it.
|
|
181
|
+
Upstream bugs go to
|
|
182
|
+
<a href="https://github.com/NUKnightLab/StoryMapJS/issues"
|
|
183
|
+
>NUKnightLab/StoryMapJS</a
|
|
184
|
+
>.
|
|
185
|
+
</p>
|
|
186
|
+
</div>
|
|
187
|
+
<div class="grid-item">
|
|
188
|
+
<h3>Technical documentation</h3>
|
|
189
|
+
<p>Go further with StoryMap:</p>
|
|
190
|
+
<ul>
|
|
191
|
+
<li>
|
|
192
|
+
<a href="./docs/migration.html"
|
|
193
|
+
>Migrating from Knight Lab StoryMapJS</a
|
|
194
|
+
>
|
|
195
|
+
</li>
|
|
196
|
+
<li>
|
|
197
|
+
<a href="./docs/migration.html">Storymap options</a>
|
|
198
|
+
</li>
|
|
199
|
+
<li>
|
|
200
|
+
<a href="./docs/iiif.html">StoryMap data as IIIF manifests</a>
|
|
201
|
+
</li>
|
|
202
|
+
<li>
|
|
203
|
+
<a href="./docs/readme.html#development">Development setup</a>
|
|
204
|
+
</li>
|
|
205
|
+
<li>
|
|
206
|
+
<a href="https://github.com/cmahnke/StoryMapJS/tree/main/schema"
|
|
207
|
+
>JSON schema</a
|
|
208
|
+
>
|
|
209
|
+
</li>
|
|
210
|
+
</ul>
|
|
211
|
+
</div>
|
|
212
|
+
</div>
|
|
213
|
+
<div class="grid" id="faq">
|
|
214
|
+
<div class="grid-item">
|
|
215
|
+
<h3>Frequently asked questions</h3>
|
|
216
|
+
<ul class="accordion">
|
|
217
|
+
<li>
|
|
218
|
+
<input type="checkbox" checked />
|
|
219
|
+
<i></i>
|
|
220
|
+
<h3>How do I install the viewer?</h3>
|
|
221
|
+
<div class="accordion-content">
|
|
222
|
+
<p>
|
|
223
|
+
<code>npm install @projektemacher/storymapjs</code>, then
|
|
224
|
+
import the module and the stylesheet:
|
|
225
|
+
</p>
|
|
226
|
+
<pre><code>import { StoryMap } from "@projektemacher/storymapjs";
|
|
227
|
+
import "@projektemacher/storymapjs/css/storymap.css";
|
|
228
|
+
|
|
229
|
+
new StoryMap("mapdiv", "my-storymap.json");</code></pre>
|
|
230
|
+
</div>
|
|
231
|
+
</li>
|
|
232
|
+
<li>
|
|
233
|
+
<input type="checkbox" checked />
|
|
234
|
+
<i></i>
|
|
235
|
+
<h3>How do I embed a published storymap?</h3>
|
|
236
|
+
<div class="accordion-content">
|
|
237
|
+
<p>
|
|
238
|
+
Use the embed page in an iframe; the
|
|
239
|
+
<code>url</code> parameter is resolved against the site
|
|
240
|
+
root:
|
|
241
|
+
</p>
|
|
242
|
+
<pre><code><iframe src="/embed/index.html?url=my-storymap.json"
|
|
243
|
+
width="100%" height="800"></iframe></code></pre>
|
|
244
|
+
</div>
|
|
245
|
+
</li>
|
|
246
|
+
<li>
|
|
247
|
+
<input type="checkbox" checked />
|
|
248
|
+
<i></i>
|
|
249
|
+
<h3>How can I link to a specific slide?</h3>
|
|
250
|
+
<div class="accordion-content">
|
|
251
|
+
<p>
|
|
252
|
+
The viewer keeps the current slide in the URL as a
|
|
253
|
+
<code>#slide-N</code>
|
|
254
|
+
hash. Open a storymap at
|
|
255
|
+
<code>…#slide-5</code> to start there, or use the
|
|
256
|
+
<code>start_at_slide</code> option (also available as an
|
|
257
|
+
embed URL parameter). Copy the URL at any time — it always
|
|
258
|
+
points at the slide you are viewing.
|
|
259
|
+
</p>
|
|
260
|
+
</div>
|
|
261
|
+
</li>
|
|
262
|
+
<li>
|
|
263
|
+
<input type="checkbox" checked />
|
|
264
|
+
<i></i>
|
|
265
|
+
<h3>How can I have a map without lines between points?</h3>
|
|
266
|
+
<div class="accordion-content">
|
|
267
|
+
Set <code>show_lines: false</code> in the storymap options (or
|
|
268
|
+
use <code>map_as_image</code> for IIIF image stories, where
|
|
269
|
+
lines are off by default).
|
|
270
|
+
</div>
|
|
271
|
+
</li>
|
|
272
|
+
<li>
|
|
273
|
+
<input type="checkbox" checked />
|
|
274
|
+
<i></i>
|
|
275
|
+
<h3>How can I use a custom map?</h3>
|
|
276
|
+
<div class="accordion-content">
|
|
277
|
+
<p>
|
|
278
|
+
Set <code>map_type</code> to a tile URL template (e.g.
|
|
279
|
+
<code>"https://tile.example.org/{z}/{x}/{y}.png"</code>) or
|
|
280
|
+
pass raw OpenLayers options via <code>map_options</code> —
|
|
281
|
+
view, controls and interactions are all configurable.
|
|
282
|
+
</p>
|
|
283
|
+
</div>
|
|
284
|
+
</li>
|
|
285
|
+
<li>
|
|
286
|
+
<input type="checkbox" checked />
|
|
287
|
+
<i></i>
|
|
288
|
+
<h3>How can I adjust the zoom?</h3>
|
|
289
|
+
<div class="accordion-content">
|
|
290
|
+
<p>
|
|
291
|
+
The viewer fits the map to all markers and zooms between
|
|
292
|
+
places as the reader navigates
|
|
293
|
+
(<code>calculate_zoom</code>). With
|
|
294
|
+
<code>calculate_zoom: true</code> (the default) the
|
|
295
|
+
calculated zoom overrides per-slide
|
|
296
|
+
<code>location.zoom</code> values; set
|
|
297
|
+
<code>calculate_zoom: false</code> to use your own
|
|
298
|
+
<code>location.zoom</code> per slide.
|
|
299
|
+
<code>map_options.view</code> accepts raw OpenLayers view
|
|
300
|
+
options.
|
|
301
|
+
</p>
|
|
302
|
+
</div>
|
|
303
|
+
</li>
|
|
304
|
+
<li>
|
|
305
|
+
<input type="checkbox" checked />
|
|
306
|
+
<i></i>
|
|
307
|
+
<h3>Can I change the fonts?</h3>
|
|
308
|
+
<div class="accordion-content">
|
|
309
|
+
<p>
|
|
310
|
+
Yes — ship a font theme with your storymap (<code
|
|
311
|
+
>font_css</code
|
|
312
|
+
>
|
|
313
|
+
in the data, relative to the script) or reference a stock
|
|
314
|
+
theme with <code>font_css: "stock:knightlab"</code>. The
|
|
315
|
+
compiled stock themes are resolved from the library's
|
|
316
|
+
<code>css/fonts/</code> directory (next to the bundled JS).
|
|
317
|
+
</p>
|
|
318
|
+
</div>
|
|
319
|
+
</li>
|
|
320
|
+
<li>
|
|
321
|
+
<input type="checkbox" checked />
|
|
322
|
+
<i></i>
|
|
323
|
+
<h3>Can I use custom HTML in a slide?</h3>
|
|
324
|
+
<div class="accordion-content">
|
|
325
|
+
<p>
|
|
326
|
+
Yes — the slide <code>text</code> renders as HTML: links,
|
|
327
|
+
images, lists and <code>vco-note</code> spans all work. Text
|
|
328
|
+
without a <code><p></code>
|
|
329
|
+
tag is wrapped in one automatically. The markup is rendered
|
|
330
|
+
raw, so only load storymaps from sources you trust.
|
|
331
|
+
</p>
|
|
332
|
+
</div>
|
|
333
|
+
</li>
|
|
334
|
+
<li>
|
|
335
|
+
<input type="checkbox" checked />
|
|
336
|
+
<i></i>
|
|
337
|
+
<h3>Can I limit the map to an area?</h3>
|
|
338
|
+
<div class="accordion-content">
|
|
339
|
+
Set
|
|
340
|
+
<code>map_bbox: [west, south, east, north]</code>
|
|
341
|
+
(lon/lat) in the options — nothing outside of the box can be
|
|
342
|
+
visible. For IIIF image stories the coordinates are raw image
|
|
343
|
+
pixels.
|
|
344
|
+
</div>
|
|
345
|
+
</li>
|
|
346
|
+
<li>
|
|
347
|
+
<input type="checkbox" checked />
|
|
348
|
+
<i></i>
|
|
349
|
+
<h3>Does the viewer load external services by default?</h3>
|
|
350
|
+
<div class="accordion-content">
|
|
351
|
+
<p>
|
|
352
|
+
Yes, but set
|
|
353
|
+
<code>consent_required: true</code> to ask for permission
|
|
354
|
+
before anything is loaded from external services (media
|
|
355
|
+
embeds, map tiles, external fonts). Each service asks once
|
|
356
|
+
per page load with an Allow/Deny panel; denied services show
|
|
357
|
+
a placeholder instead. Decisions are stored in a cookie for
|
|
358
|
+
90 days — clearing cookies asks again.
|
|
359
|
+
</p>
|
|
360
|
+
</div>
|
|
361
|
+
</li>
|
|
362
|
+
</ul>
|
|
363
|
+
</div>
|
|
364
|
+
</div>
|
|
365
|
+
</section>
|
|
366
|
+
</article>
|
|
367
|
+
|
|
368
|
+
<footer class="footer-knightlab">
|
|
369
|
+
<div class="footer-grid">
|
|
370
|
+
<div>
|
|
371
|
+
<div class="footer-brand">StoryMap <span>JS</span></div>
|
|
372
|
+
<ul class="list-social">
|
|
373
|
+
<li>
|
|
374
|
+
<a
|
|
375
|
+
href="https://github.com/cmahnke/StoryMapJS"
|
|
376
|
+
title="StoryMapJS fork on GitHub"
|
|
377
|
+
>GitHub</a
|
|
378
|
+
>
|
|
379
|
+
</li>
|
|
380
|
+
<li>
|
|
381
|
+
<a
|
|
382
|
+
href="https://github.com/NUKnightLab/StoryMapJS"
|
|
383
|
+
title="Upstream Knight Lab repository"
|
|
384
|
+
>Upstream</a
|
|
385
|
+
>
|
|
386
|
+
</li>
|
|
387
|
+
</ul>
|
|
388
|
+
</div>
|
|
389
|
+
<div class="footer-description">
|
|
390
|
+
<p>
|
|
391
|
+
A TypeScript rewrite of
|
|
392
|
+
<a href="https://github.com/NUKnightLab/StoryMapJS"
|
|
393
|
+
>NUKnightLab/StoryMapJS</a
|
|
394
|
+
>, the original tool by
|
|
395
|
+
<a href="https://knightlab.northwestern.edu/"
|
|
396
|
+
>Northwestern University Knight Lab</a
|
|
397
|
+
>. The storymap JSON format is preserved; the rendering engine moved from
|
|
398
|
+
Leaflet to OpenLayers, so some rendering details differ (see the
|
|
399
|
+
<a href="./docs/migration.html">migration notes</a>).
|
|
400
|
+
</p>
|
|
401
|
+
<span class="copyright">
|
|
402
|
+
Released under the
|
|
403
|
+
<a href="https://opensource.org/license/MPL-2-0">MPL-2.0</a>
|
|
404
|
+
license.
|
|
405
|
+
</span>
|
|
406
|
+
</div>
|
|
407
|
+
</div>
|
|
408
|
+
</footer>
|
|
409
|
+
</body>
|
|
410
|
+
</html>
|