Demo
Sample Documents
IIIF Cookbook
Historia Astronomiae
Ragini Bhairavi
Papyrus of Dioscorus of Aphrodito
The Chemist and Druggist
Speyerer Evangelistar
The Natural Method of Healing
Jane Eyre Vol. 1
Core Features
- Lightweight – only 140 kB (gzipped)
- Fast – also with very large manifests
- Easy to embed and highly configurable
- Fully responsive and accessible
- State can be reflected in bookmarkable URL
Get TIFY
Getting Started
TIFY is a slim and mobile-friendly IIIF document viewer built with Vue.js. It supports IIIF Presentation API and Image API version 2 and 3.
Embedding TIFY
Add an empty HTML block element with an id and a set height:
<div id="tify" style="height: 640px"></div>
Include TIFY:
Either via npm (recommended):
npm install tifyIf you are using a build tool like Vite,
importthe required files and create a TIFY instance:import 'tify/dist/tify.css' import Tify from 'tify' new Tify({ container: '#tify', manifestUrl: 'https://iiif.io/api/cookbook/recipe/0009-book-1/manifest.json', })Otherwise, upload everything from
node_modules/tify/distto your web server and add this to the HTML output:<link rel="stylesheet" href="tify.css?0.34.4"> <script type="module"> import Tify from './tify.js?0.34.4' new Tify({ container: '#tify', manifestUrl: 'https://iiif.io/api/cookbook/recipe/0009-book-1/manifest.json', }) </script>Adjust the paths as needed. Appending
?0.34.4prevents caching issues when upgrading.
Or use a CDN like jsDelivr or UNPKG:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/tify@0.34.4/dist/tify.css"> <script type="module"> import Tify from 'https://cdn.jsdelivr.net/npm/tify@0.34.4/dist/tify.js' new Tify({ container: '#tify', manifestUrl: 'https://iiif.io/api/cookbook/recipe/0009-book-1/manifest.json', }) </script>
Upgrading
If you are are upgrading from any previous version, have a look at the upgrading guidelines.
Configuration
TIFY takes an options object as its only parameter. While optional, you usually want to set container and manifestUrl.
See options for a documentation of all available options.
An example with most options set to non-default values:
new Tify({
container: '#tify',
language: 'de',
manifestUrl: 'https://example.org/iiif-manifest.json',
pageLabelFormat: 'P (L)',
pages: [2, 3],
pan: { x: .45, y: .6 },
translationsDirUrl: '/translations/tify',
urlQueryKey: 'tify',
urlQueryParams: ['pages'],
view: '',
viewer: {
immediateRender: false,
},
zoom: 1.2,
})
Customizing
Many aspects of the theme can be modified with SCSS variables or CSS custom properties, allowing you to easily adapt TIFY’s appearance to your website. See the theme settings file for all available variables.
API
TIFY provides an API for controlling most of its features, see API documentation.