Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 0 additions & 61 deletions iiif-online-workshop/April2026.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.7/jstz.min.js" integrity="sha512-pZ0i46J1zsMwPd2NQZ4IaL427jXE2RVHMk3uv/wPTNlBVp9AbB1L65/4YdrXRPLEmyZCkY9qYOOsQp44V4orHg==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/dayjs.min.js" integrity="sha512-u7elBfdMr+7LhU4rvUk3IM28QZDKTyUxba4Nx2IJ1W9cj4shfRSPq7EZXD2ULD9cBoizw2FQyeR6YBog6LcnHg==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/utc.min.js" integrity="sha512-+lztPB4upMyG9pLdOWl8MFsBhXM1V9vFTDhXV3/4VSdoqpR5RfA2bNdrl8n0F9HmbzFkNqmOBdZw580qfRU01Q==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/timezone.min.js" integrity="sha512-3QnyXIdU85C6rOXhHzVsXinI5/qM/LniMr5actNRUwyp1Tuurw7rOn7fX7WWoNyZuM7KlQxITGQI4ITCgXKGQA==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/advancedFormat.min.js" integrity="sha512-bvTLx3e7Wk8qIAqr7O/vbk8IT2h+tFr1udHdJGzX6xMGtruTSCBctN0IGGjozmwap+l1A3zIz5KZUXI9IiBS3Q==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/localizedFormat.min.js" integrity="sha512-85aup/PuxBbkUL6yEpshXfwrOWNt7rvFzFrfvYgnrBBQK2r1FEyqD+5qGVNPWSm8xxafm3mhBOvd975HBSaXNA==" crossorigin="anonymous"></script>
<script type="text/javascript" src="js/setupIntro.js"></script>

<div id="workshop-config" data-start="2026-04-13 17:00"></div>
Expand Down Expand Up @@ -68,15 +62,6 @@ Tasks to be completed __before__ the meeting:
There is also a course Google calendar available which you can subscribe to:
<div id="calendar-container"></div>

<script type="text/javascript">
var timezone = jstz.determine();
console.log('Name is ' + timezone.name());
var pref = '<iframe src="https://calendar.google.com/calendar/embed?src=clir.org_chugpdurgjm9njridh8uq676n0%40group.calendar.google.com&mode=WEEK&title=IIIF%20Online%20Workshop&dates=20260413/20260417&showTabs=0&ctz=';
var suff = '" style="border: 0" width="100%" height="300" frameborder="0" scrolling="no"></iframe>';
var iframe_html = pref + timezone.name() + suff;
document.getElementById('calendar-container').innerHTML = iframe_html;
</script>

You can also download a <a href="ics/April2026.ics">ICS version</a>.

## Project Work
Expand All @@ -97,49 +82,3 @@ IIIF Technical Coordinator<br/>
International Image Interoperability Framework (IIIF) Consortium<br/>
http://iiif.io<br/>

<script type="text/javascript">
console.log('Working out times ');
dayjs.extend(dayjs_plugin_utc)
dayjs.extend(dayjs_plugin_timezone)
dayjs.extend(dayjs_plugin_advancedFormat)
var timezone = jstz.determine();
function setTime(time, section) {
console.log("Setting time in " + section);
var local = time.tz(timezone.name());

var span = document.getElementById(section);
span.innerHTML = local.format("h:mma z")
}
function setDay(time, section) {
console.log("Setting time in " + section);
var local = time.tz(timezone.name());

var span = document.getElementById(section);
span.innerHTML = local.format("dddd, MMMM D")
if (local.format("D").endsWith("0")) {
span.innerHTML += "th";
} else if (local.format("D").endsWith("1") && !(local.format("D").endsWith("11"))) {
span.innerHTML += "st";
} else if (local.format("D").endsWith("2") && !(local.format("D").endsWith("12"))) {
span.innerHTML += "nd";
} else if (local.format("D").endsWith("3") && !(local.format("D").endsWith("13"))) {
span.innerHTML += "rd";
} else {
span.innerHTML += "th";
}
}
function setDates(time, day, timeId) {
setDay(time,day);
setTime(time,timeId);

}


setDates(dayjs.tz("2026-04-13 17:00", "Europe/London"),"day1", "intro");
setDates(dayjs.tz("2026-04-14 17:00", "Europe/London"),"day2", "image");
setDates(dayjs.tz("2026-04-15 17:00", "Europe/London"),"day3", "presentation");
setDates(dayjs.tz("2026-04-16 17:00", "Europe/London"),"day4", "annotations");
setDates(dayjs.tz("2026-04-17 17:00", "Europe/London"),"day5", "demos");

</script>

9 changes: 2 additions & 7 deletions iiif-online-workshop/June2026.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.7/jstz.min.js" integrity="sha512-pZ0i46J1zsMwPd2NQZ4IaL427jXE2RVHMk3uv/wPTNlBVp9AbB1L65/4YdrXRPLEmyZCkY9qYOOsQp44V4orHg==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/dayjs.min.js" integrity="sha512-u7elBfdMr+7LhU4rvUk3IM28QZDKTyUxba4Nx2IJ1W9cj4shfRSPq7EZXD2ULD9cBoizw2FQyeR6YBog6LcnHg==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/utc.min.js" integrity="sha512-+lztPB4upMyG9pLdOWl8MFsBhXM1V9vFTDhXV3/4VSdoqpR5RfA2bNdrl8n0F9HmbzFkNqmOBdZw580qfRU01Q==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/timezone.min.js" integrity="sha512-3QnyXIdU85C6rOXhHzVsXinI5/qM/LniMr5actNRUwyp1Tuurw7rOn7fX7WWoNyZuM7KlQxITGQI4ITCgXKGQA==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/advancedFormat.min.js" integrity="sha512-bvTLx3e7Wk8qIAqr7O/vbk8IT2h+tFr1udHdJGzX6xMGtruTSCBctN0IGGjozmwap+l1A3zIz5KZUXI9IiBS3Q==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/localizedFormat.min.js" integrity="sha512-85aup/PuxBbkUL6yEpshXfwrOWNt7rvFzFrfvYgnrBBQK2r1FEyqD+5qGVNPWSm8xxafm3mhBOvd975HBSaXNA==" crossorigin="anonymous"></script>
<script type="text/javascript" src="js/setupIntro.js"></script>
<div id="workshop-config" data-start="2026-06-22 14:00"></div>
<div id="workshop-config" data-start="2026-06-22 14:00"></div>

# Introduction

Thank you for registering for the [IIIF Online Workshop](https://www.eventbrite.com/e/june-2026-iiif-online-training-5-day-course-tickets-1825949497099) between June 22nd to June 26th. This course is an adapted version of an in person workshop and it is the 7th time we have run it online.
Expand Down
8 changes: 1 addition & 7 deletions iiif-online-workshop/November2026.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.7/jstz.min.js" integrity="sha512-pZ0i46J1zsMwPd2NQZ4IaL427jXE2RVHMk3uv/wPTNlBVp9AbB1L65/4YdrXRPLEmyZCkY9qYOOsQp44V4orHg==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/dayjs.min.js" integrity="sha512-u7elBfdMr+7LhU4rvUk3IM28QZDKTyUxba4Nx2IJ1W9cj4shfRSPq7EZXD2ULD9cBoizw2FQyeR6YBog6LcnHg==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/utc.min.js" integrity="sha512-+lztPB4upMyG9pLdOWl8MFsBhXM1V9vFTDhXV3/4VSdoqpR5RfA2bNdrl8n0F9HmbzFkNqmOBdZw580qfRU01Q==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/timezone.min.js" integrity="sha512-3QnyXIdU85C6rOXhHzVsXinI5/qM/LniMr5actNRUwyp1Tuurw7rOn7fX7WWoNyZuM7KlQxITGQI4ITCgXKGQA==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/advancedFormat.min.js" integrity="sha512-bvTLx3e7Wk8qIAqr7O/vbk8IT2h+tFr1udHdJGzX6xMGtruTSCBctN0IGGjozmwap+l1A3zIz5KZUXI9IiBS3Q==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/localizedFormat.min.js" integrity="sha512-85aup/PuxBbkUL6yEpshXfwrOWNt7rvFzFrfvYgnrBBQK2r1FEyqD+5qGVNPWSm8xxafm3mhBOvd975HBSaXNA==" crossorigin="anonymous"></script>
<script type="text/javascript" src="js/setupIntro.js"></script>

<div id="workshop-config" data-start="2026-11-23 10:00"></div>
<div id="workshop-config" data-start="2026-11-23 10:00"></div>

# Introduction

Expand Down
9 changes: 5 additions & 4 deletions iiif-online-workshop/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,11 @@
- [June 2024](editions/2024/June2024.md)
- [November 2024](editions/2024/November2024.md)
- [December 2024](editions/2024/December2024.md)
- [March 2025](March2025.md)
- [May 2025](May2025.md)
- [September 2025](September2025.md)
- [November 2025](November2025.md)
- [2025 Editions](editions/2025/README.md)
- [March 2025](editions/2025/March2025.md)
- [May 2025](editions/2025/May2025.md)
- [September 2025](editions/2025/September2025.md)
- [November 2025](editions/2025/November2025.md)
- [April 2026](April2026.md)
- [June 2026](June2026.md)
- [September 2026](September2026.md)
Expand Down
64 changes: 1 addition & 63 deletions iiif-online-workshop/September2026.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.7/jstz.min.js" integrity="sha512-pZ0i46J1zsMwPd2NQZ4IaL427jXE2RVHMk3uv/wPTNlBVp9AbB1L65/4YdrXRPLEmyZCkY9qYOOsQp44V4orHg==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/dayjs.min.js" integrity="sha512-u7elBfdMr+7LhU4rvUk3IM28QZDKTyUxba4Nx2IJ1W9cj4shfRSPq7EZXD2ULD9cBoizw2FQyeR6YBog6LcnHg==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/utc.min.js" integrity="sha512-+lztPB4upMyG9pLdOWl8MFsBhXM1V9vFTDhXV3/4VSdoqpR5RfA2bNdrl8n0F9HmbzFkNqmOBdZw580qfRU01Q==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/timezone.min.js" integrity="sha512-3QnyXIdU85C6rOXhHzVsXinI5/qM/LniMr5actNRUwyp1Tuurw7rOn7fX7WWoNyZuM7KlQxITGQI4ITCgXKGQA==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/advancedFormat.min.js" integrity="sha512-bvTLx3e7Wk8qIAqr7O/vbk8IT2h+tFr1udHdJGzX6xMGtruTSCBctN0IGGjozmwap+l1A3zIz5KZUXI9IiBS3Q==" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/localizedFormat.min.js" integrity="sha512-85aup/PuxBbkUL6yEpshXfwrOWNt7rvFzFrfvYgnrBBQK2r1FEyqD+5qGVNPWSm8xxafm3mhBOvd975HBSaXNA==" crossorigin="anonymous"></script>
<script type="text/javascript" src="js/setupIntro.js"></script>

<div id="workshop-config" data-start="2026-09-28 17:00"></div>
<div id="workshop-config" data-start="2026-09-28 17:00"></div>

# Introduction

Expand Down Expand Up @@ -68,15 +62,6 @@ Tasks to be completed __before__ the meeting:
There is also a course Google calendar available which you can subscribe to:
<div id="calendar-container"></div>

<script type="text/javascript">
var timezone = jstz.determine();
console.log('Name is ' + timezone.name());
var pref = '<iframe src="https://calendar.google.com/calendar/embed?src=clir.org_chugpdurgjm9njridh8uq676n0%40group.calendar.google.com&mode=WEEK&title=IIIF%20Online%20Workshop&dates=20260928/20261002&showTabs=0&ctz=';
var suff = '" style="border: 0" width="100%" height="300" frameborder="0" scrolling="no"></iframe>';
var iframe_html = pref + timezone.name() + suff;
document.getElementById('calendar-container').innerHTML = iframe_html;
</script>

You can also download a <a href="ics/September2026.ics">ICS version</a>.

## Project Work
Expand All @@ -98,50 +83,3 @@ I look forward to working with you and if you have any questions please don’t
IIIF Technical Coordinator<br/>
International Image Interoperability Framework (IIIF) Consortium<br/>
http://iiif.io<br/>

<script type="text/javascript">
console.log('Working out times ');
dayjs.extend(dayjs_plugin_utc)
dayjs.extend(dayjs_plugin_timezone)
dayjs.extend(dayjs_plugin_advancedFormat)
var timezone = jstz.determine();
function setTime(time, section) {
console.log("Setting time in " + section);
var local = time.tz(timezone.name());

var span = document.getElementById(section);
span.innerHTML = local.format("h:mma z")
}
function setDay(time, section) {
console.log("Setting time in " + section);
var local = time.tz(timezone.name());

var span = document.getElementById(section);
span.innerHTML = local.format("dddd, MMMM D")
if (local.format("D").endsWith("0")) {
span.innerHTML += "th";
} else if (local.format("D").endsWith("1") && !(local.format("D").endsWith("11"))) {
span.innerHTML += "st";
} else if (local.format("D").endsWith("2") && !(local.format("D").endsWith("12"))) {
span.innerHTML += "nd";
} else if (local.format("D").endsWith("3") && !(local.format("D").endsWith("13"))) {
span.innerHTML += "rd";
} else {
span.innerHTML += "th";
}
}
function setDates(time, day, timeId) {
setDay(time,day);
setTime(time,timeId);

}


setDates(dayjs.tz("2026-09-28 17:00", "Europe/London"),"day1", "intro");
setDates(dayjs.tz("2026-09-29 17:00", "Europe/London"),"day2", "image");
setDates(dayjs.tz("2026-09-30 17:00", "Europe/London"),"day3", "presentation");
setDates(dayjs.tz("2026-10-01 17:00", "Europe/London"),"day4", "annotations");
setDates(dayjs.tz("2026-10-02 17:00", "Europe/London"),"day5", "demos");

</script>

6 changes: 6 additions & 0 deletions iiif-online-workshop/editions/2025/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# 2025 Editions

- [March 2025](March2025.md)
- [May 2025](May2025.md)
- [September 2025](September2025.md)
- [November 2025](November2025.md)
41 changes: 33 additions & 8 deletions iiif-online-workshop/js/setupIntro.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@

dayjs.extend(dayjs_plugin_utc)
dayjs.extend(dayjs_plugin_timezone)
dayjs.extend(dayjs_plugin_advancedFormat)

function setTime(time, section) {
console.log("Setting time in " + section);
var timezone = jstz.determine();
Expand Down Expand Up @@ -72,7 +67,37 @@ function setupDates(start){
setupCalendar(start);
}

document.addEventListener("DOMContentLoaded", function() {
var start = document.getElementById("workshop-config").dataset.start;
setupDates(dayjs.tz(start, "Europe/London"));
function loadScript(src, integrity) {
return new Promise(function(resolve, reject) {
var s = document.createElement("script");
s.src = src;
if (integrity) s.integrity = integrity;
s.crossOrigin = "anonymous";
s.onload = resolve;
s.onerror = reject;
document.head.appendChild(s);
});
}

Promise.all([
loadScript("https://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.7/jstz.min.js", "sha512-pZ0i46J1zsMwPd2NQZ4IaL427jXE2RVHMk3uv/wPTNlBVp9AbB1L65/4YdrXRPLEmyZCkY9qYOOsQp44V4orHg=="),
loadScript("https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/dayjs.min.js", "sha512-u7elBfdMr+7LhU4rvUk3IM28QZDKTyUxba4Nx2IJ1W9cj4shfRSPq7EZXD2ULD9cBoizw2FQyeR6YBog6LcnHg=="),
]).then(function() {
return Promise.all([
loadScript("https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/utc.min.js"),
loadScript("https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/timezone.min.js"),
loadScript("https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/advancedFormat.min.js"),
loadScript("https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.9.3/plugin/localizedFormat.min.js"),
]);
}).then(function() {
dayjs.extend(dayjs_plugin_utc);
dayjs.extend(dayjs_plugin_timezone);
dayjs.extend(dayjs_plugin_advancedFormat);
dayjs.extend(dayjs_plugin_localizedFormat);

var el = document.getElementById("workshop-config");
if (el) {
var start = dayjs.tz(el.dataset.start, "Europe/London");
setupDates(start);
}
});
Loading