Demo
Sample Documents
Historia Astronomiae
Ragini Bhairavi
Papyrus of Dioscorus of Aphrodito
The Chemist and Druggist
Speyerer Evangelistar
The Natural Method of Healing
Jane Eyre Vol. 1
Field with Poppies
Core Features
- Lightweight – only 129 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
TIFY is available as an npm package:
npm install tify
Embed TIFY into your website in three easy steps:
Include both the JavaScript and the stylesheet.
Either download TIFY and copy the contents of the
dist
directory to your server:<script src="tify.js?v0.33.0"></script> <link rel="stylesheet" href="tify.css?v0.33.0">
To avoid issues with browser caching, add a query parameter with the current version, e.g.
?v0.33.0
.Or use jsDelivr:
<script src="https://cdn.jsdelivr.net/npm/tify@0.33.0/dist/tify.js"></script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/tify@0.33.0/dist/tify.css">
Or
import
TIFY into your web application:import 'tify' import 'tify/dist/tify.css'
Add an HTML block element with an
id
and set itsheight
.<div id="tify" style="height: 640px"></div>
Create a TIFY instance.
<script> new Tify({ container: '#tify', manifestUrl: 'https://example.org/iiif-manifest.json', }) </script>
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.
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,
})
API
TIFY provides an API for controlling most of its features, see API documentation.