Introduction to publishing XML with static site and front-end technologies

Authors: Viglianti, Raffaele

Date: Tuesday, 5 September 2023, 9:15am to 12:45pm

Location: HNI, Room F0.530 <hni:performance>


Scope of the workshop

This half-day workshop will introduce strategies for handling XML when publishing with static site generators and front-end technologies. The workshop will focus on isomorphic approaches to publishing XML data on the web or, in other words, publishing XML data with little or no transformation, or with a structure-preserving mapping that allows working with the output as if it were the initial data source.

In particular, attendees will be introduced to CETEIcean as a way of publishing TEI with minimal (or no) transformation (Cayless and Viglianti 2018), and Verovio, a rendering engine for MEI that produces isomorphic SVG output (Pugin 2016). The main focus of the workshop will be learning how this approach can be used in conjunction with static site generators and will work on examples in “vanilla” JavaScript, React, and Gatsby. This workshop is aimed at attendees who already have some experience with programming (including XSLT) and the command line; however, all are welcome and will be supported as much as possible throughout the workshop.


Digital humanities projects that result in the creation of digital output—typically a website—are prone to what Smithies et al. call the “digital entropy of software and digital infrastructure” (2019). Static sites have become a common choice for archiving legacy projects that risk going offline (Smithies et al. 2019, Summers 2016) because they only require the absolute minimum from hosting infrastructure: a server to distribute documents at a given address. The sites themselves, once created, require no active maintenance and can be easily moved and transferred like any other collection of files. However, static sites cannot support features that would require an active server, such as large scale text search and user management; these features, therefore, are removed when projects are archived into static sites. Deriving static sites from an end-of-life project is the clear choice when access to infrastructure becomes limited. But this workshop addresses the question: What would it take to adopt static sites from the start?

Schedule and requirements

After a brief introduction on static sites and the motivations for using them, the workshop will introduce:

  • Exploring isomorphic approaches: CETEIcean and Verovio in “vanilla” JavaScript.

  • How to extend CETEIcean with React.

    • Optional collaborative work: experiment with other frameworks that attendees may be familiar with (e.g. Vue, Angular, etc).
  • Optionally, if attendees are interested in music notation: using Verovio in React for interactivity.

  • Using the static site generator Gatsby and its TEI plugins.

  • Keeping within a single stack: applying optional transformations to TEI documents in NodeJS (using JavaScript / TypeScript or XSLT via SaxonJS).

Example TEI and MEI documents to integrate into the website will be provided, but attendees are encouraged to bring their own.

Participants must bring their own laptop and be able to install (free) software on it. Internet access will be required. The tutor will require a projector.


Cayless, Hugh, and Raffaele Viglianti. 2018. “CETEIcean: TEI in the Browser.” Presented at Balisage: The Markup Conference 2018, Washington, DC, July 31 - August 3, 2018. In: Proceedings of Balisage: The Markup Conference 2018. Balisage Series on Markup Technologies, vol. 21.

Pugin, Laurent. 2016. “Interaction with Music Encoding”. In: „Ei, dem alten Herrn zoll’ ich Achtung gern’“ Festschrift für Joachim Veit zum 60. Geburtstag. Eds. Kristina Richts and Peter Stadler. 617-631. Allitera Verlag.

Smithies, James, Carina Westling, Anna-Maria Sichani, Pam Mellen, and Arianna Ciula. 2019. “Managing 100 Digital Humanities Projects: Digital Scholarship & Archiving in King’s Digital Lab.” In: Digital Humanities Quarterly 013 (1).

Summers, Edward. 2016. “The Web’s Past Is Not Evenly Distributed.” Maryland Institute for Technology in the Humanities (blog). May 27, 2016.

About the author

Dr. Raffaele (Raff) Viglianti is a Senior Research Software Developer at the Maryland Institute for Technology in the Humanities, University of Maryland. His research is grounded in digital humanities and textual scholarship, where “text” includes musical notation. He researches new and efficient practices to model and publish textual sources as innovative and sustainable digital scholarly resources. Dr. Viglianti is currently an elected member of the Text Encoding Initiative technical council and the Technical Editor of the Scholarly Editing journal.

Contribution Type