MoEML’s ePub Developer Documentation
This document is currently in draft. When it has been reviewed and proofed, it will
be
published on the site.
Please note that it is not of publishable quality yet.
MoEML’s ePub Developer Documentation
¶XSLT
files responsible for creating MoEML ePubs.
-
Jenkins_to_epub.xsl
-
Epub_supplementary_files.xsl
-
List_css_for_epub.xsl
-
List_fonts_for_epub.xsl
-
List_images_for_epub.xsl
-
createEpubs.xml
This documentation details the
XSL
and XML
files responsible for building the ePubs.
¶jenkins_to_epub.xsl
This
XSL
transformation processes the source XHTML
file, retrieved from Jenkins, to make it compatible with the ePub output that we
desire. It mainly deletes components that are not needed in the production of ePubs.
It includes epub_globals.xsl
, which has all the required variables and parameters.
This transformation results in a
XHTML
document with the $docId
name, saved in the output folder (as defined in epub_globals.xsl
). It removes the following items: top banner, related information, page XML
, script elements, breadcrumbs, send feedback, footer menu, document mentions, people’s
contributions, facsimiles, agas.css
link, agas_embedded.css
, people’s abbreviations, roles played, membership organizations, and social media
logos.
Then, jenkins_to_epub.xsl replaces unused
CSS
links with new ePub CSS
links, and rewrites local links into externals directing to the MoEML website when necessary. One of the templates rewrites links for graphics to images,
and makes full sized images links into externals.
There are templates that move some elements from one position to another, such as
variant spellings and historical figures. One template sorts the personography alphabetically.
¶epub_supplementary_files.xsl
This transformation writes the supplementary files needed for the generation of every
ePub. It includes
epub_globals.xsl
. The root template calls the document’s named templates (explained below).
-
createMimetypeFile
creates the mimetype file. It is a text output with one line:application/epub+zip
. -
createContainerFile
creates thecontainer.xml
file and stores it inMETA-INF
folder. It is aXML
output file, with a rootfile element containing the path topackage.opf
. -
createCoverFile
The cover file is anXHTML
file saved in the main document-specificEPUB
folder. In its head element, this page gets the first title element with a property attribute of valuetitlePage
. The actual cover is the cover image that we take from the corresponding PDF document that we build. It is in.png
format. -
createMetaHybridFile
This template creates another title page that contains hybrid metadata, which includes the title, authors, compilers, and editors, in addition to the publication information. This template contains two conditions, one is when the document at hand is a born digital file and the other is when it is a primary source file. -
createNavCssFile
This template creates theCSS
styling for thenav
page. The resulting document is a.css
file. The template body is written inCSS
. -
createmetaHybridCssFile
This template creates theCSS
styling for themetaHybrid
page. The resulting document is a.css
file. The template body is written inCSS
. -
createPackageFile
The package file is in.opf
format. It should list all the files – including images – that are mentioned in the ePub When a file is in the ePub but not mentioned in the package file, the validator will flag an error. It is also erroneous if an item is mentioned in the package file but is not saved in the ePub folder. The template gets the items from the lists that we generate for the creation of the ePub. -
createNavFile
This template is responsible for creating thenav.xhtml
file. It lists the page contents submenu of a document when a list element with id attributepageContents
is available. It ends with a script element (javascript
). -
createTocFile
This template also creates a table of content, with a<navMap>
element. The contents have@id
attributes and@playOrder
attributes. It does not have a<script>
element. -
createEpubCssFile
This template creates theCSS
styling for the epub.xhtml
file. The resulting document is a.css
file. The template body is written inCSS
. It overwrites other styling, unless the platform does not allow it. -
createCoverCssFile
This template creates theCSS
styling for the cover image. The resulting document is a.css
file. The template body is written inCSS
. ThisXSLT
also has unnamed templates. One template rewrites a local link to make it a link from the cover file to the content file, and removes breaks after the title for styling purposes. Another template deals with<ul>
elements in ol in thenav.xhtml
file, as well as rewrites a local link to make it a link from thenav
file to the content file. A third template deals with some styling of lower level<list>
elements, also rewriting their links appropriately.
¶list_css_for_epub.xsl
This
XSLT
creates the list of CSS
files needed for the ePub, which will determine what files will be copied into the
EPUB/CSS
folder. The resulting document is a .txt
file. The links are retrieved from the source file. Some additional links are hard
coded.
¶list_fonts_for_epub.xsl
This
XSLT
creates the list of fonts needed for the ePub, which will determine what files will
be copied into the EPUB/fonts
folder. The resulting document is a .txt
file. The root template contains a variable $cssFiles
that reads the CSS
files. Variable $tokenizedCss
tokenizes the css files, so that variable $allCss
can normalize them. The root template then analyzes the strings and applies the necessary
changes to produce the list.
¶list_images_for_epub.xsl
This
XSLT
creates the list of images needed for the ePub, which will determine what images
will be copied into the EPUB/images
folder. It follows the same process as that of list_fonts_for_epub.xsl
.
¶createEpubs.xml
This
XML
file is the Ant
application responsible for creating the ePubs. It handles the processing of XHTML
documents retrieved from MoEML’s Jenkins. It requires tools located in utilities
, and assumes that ant-contrib
is installed.
A list of properties are defined, most of which are for the paths of necessary files
and/or folders. For instance,
graphicsFolder
defines the path of the graphics folder in the SVN
repository, from which some images will be copied.
-
Target getEpubcheckLocalVersion
Checks the current version of theepubcheck.jar
file inutilities
. If the file is not available, a value of0.0.0
will be returned, which will trigger a download because it is (always) less than the current version. -
Target
getEpubcheckLatestVersion
Checks theGitHub
repository for the validator to determine the latest version number. This number will be compared against the current version; if it is lower, then a download is required. -
Target
getEpubcheck
Checks whether or notepubcheck.jar
is available and up to date. If it is absent or out of date, the latest version gets downloaded. -
Target
vaidateEpub
This target depends on the availability ofepubcheck.jar
. It passes the file to the validator, which in turn outputs the results (including any warnings or errors). -
Target
getSourceFileFromJenkins
Retrieves the appropriateHTML
file from the latest Jenkins build, to be then processed into an ePub. This target creates thesourceFiles
folder if it has not been already created. -
Target
sourceFileToEpubXhtml
Processes the original source file into a simplified and ePub compatible version of the file. It relies on thejenkins_to_epub.xsl
stylesheet. -
Target
createCssList
Creates a list ofCSS
files which are in the repository and are referenced in the document being processed, so that we copy them into the corresponding folder, only as needed. It relies on thelist_css_for_epub.xsl
stylesheet. -
Target
copyCss
Copies the set of requiredCSS
files as per the list created in the previous target. -
Target
createFontsList
Creates a list of fonts which are in the repository and are referenced in the document being processed, so that we copy them into the corresponding folder, only as needed. It relies on thelist_fonts_for_epub.xsl
stylesheet. -
Target
copyFonts
Copies the set of required fonts as per the list created in the previous target. -
Target
createImagesList
Creates a list of images which are in the repository and are referenced in the document being processed, so that we copy them into the corresponding folder, only as needed. It relies on thelist_images_for_epub.xsl
stylesheet. -
Traget
copyImages
Copies the set of required images as per the list created in the previous target. This target also creates theEPUB/images
directory, and copies files into it, from directories defined in the properties (as discussed above). -
Target
CreateSupplementaryFiles
Creates the supplementary files needed for the ePub being generated. It relies on theepub_supplementary_files.xsl
stylesheet. -
Target
addSupplementaryFiles
Adds the supplementary files, creating the necessary directories:EPUB
andMETA-INF
. -
Target
processOneFile
Uses the appropriatedocId
parameter, to retrieve the source document and then process it into the ePub. This target calls the following targets:getSourceFileFromJenkins
,sourceFileToEpubXhtml
,createCssList
,createFontsList
,createImagesList
,copyCss
,copyFonts
,copyImages
,createSupplementaryFiles
,addSupplementaryFiles
,buildEpub
, andvalidateEpub
. -
Target
processMultipleFiles
This is the default target. It uses theidList
input parameter to retrieve selected source documents, and then callsprocessOneFile
to process the documents into ePubs. -
Target
buildEpub
Creates an ePub file from theXHTML
file. TheXHTML
file is found in the parameterinFile
. After processing theXHTML
as perjenkins_to_epub.xsl
, the ePub folder (with all its contents and child folders) is zipped; the mimetype file should be zipped first, and other folders follow.
Cite this page
MLA citation
MoEML’s ePub Developer Documentation.The Map of Early Modern London, edited by , U of Victoria, 26 Jun. 2020, mapoflondon.uvic.ca/epubDev_about.htm.
Chicago citation
MoEML’s ePub Developer Documentation.The Map of Early Modern London. Ed. . Victoria: University of Victoria. Accessed June 26, 2020. https://mapoflondon.uvic.ca/epubDev_about.htm.
APA citation
MoEML’s ePub Developer Documentation. In (Ed), The Map of Early Modern London. Victoria: University of Victoria. Retrieved from https://mapoflondon.uvic.ca/epubDev_about.htm.
2020. RIS file (for RefMan, EndNote etc.)
Provider: University of Victoria Database: The Map of Early Modern London Content: text/plain; charset="utf-8" TY - ELEC A1 - El Hajj, Tracey ED - Jenstad, Janelle T1 - MoEML’s ePub Developer Documentation T2 - The Map of Early Modern London PY - 2020 DA - 2020/06/26 CY - Victoria PB - University of Victoria LA - English UR - https://mapoflondon.uvic.ca/epubDev_about.htm UR - https://mapoflondon.uvic.ca/xml/standalone/epubDev_about.xml ER -
RefWorks
RT Web Page SR Electronic(1) A1 El Hajj, Tracey A6 Jenstad, Janelle T1 MoEML’s ePub Developer Documentation T2 The Map of Early Modern London WP 2020 FD 2020/06/26 RD 2020/06/26 PP Victoria PB University of Victoria LA English OL English LK https://mapoflondon.uvic.ca/epubDev_about.htm
TEI citation
<bibl type="mla"><author><name ref="#ELHA1"><surname>El Hajj</surname>, <forename>Tracey</forename></name></author>.
<title level="a"><title level="m">MoEML</title>’s ePub Developer Documentation</title>.
<title level="m">The Map of Early Modern London</title>, edited by <editor><name ref="#JENS1"><forename>Janelle</forename>
<surname>Jenstad</surname></name></editor>, <publisher>U of Victoria</publisher>,
<date when="2020-06-26">26 Jun. 2020</date>, <ref target="https://mapoflondon.uvic.ca/epubDev_about.htm">mapoflondon.uvic.ca/epubDev_about.htm</ref>.</bibl>
Personography
-
Roles played in the project
-
Associate Project Director
-
Project Manager
Ryann McQuarrie-Salik is a member of the following organizations and/or groups:
Ryann McQuarrie-Salik is mentioned in the following documents:
-
-
Tracey El Hajj
TEH
Junior Programmer, 2018-present. Tracey is a PhD candidate in the English Department at the University of Victoria. Her research focuses on Critical Technical Practice, more specifically Algorhythmics. She is interested in how technologies communicate without humans, affecting social and cultural environments in complex ways.Roles played in the project
-
Author
-
Junior Programmer
-
Revising Author
Contributions by this author
Tracey El Hajj is a member of the following organizations and/or groups:
Tracey El Hajj is mentioned in the following documents:
-
-
Joey Takeda
JT
Programmer, 2018-present. Junior Programmer, 2015-2017. Research Assistant, 2014-2017. Joey Takeda was a graduate student at the University of British Columbia in the Department of English (Science and Technology research stream). He completed his BA honours in English (with a minor in Women’s Studies) at the University of Victoria in 2016. His primary research interests included diasporic and indigenous Canadian and American literature, critical theory, cultural studies, and the digital humanities.Roles played in the project
-
Abstract Author
-
Author
-
Author of Abstract
-
Author of Introduction
-
Author of Stub
-
CSS Editor
-
Compiler
-
Conceptor
-
Copy Editor
-
Copy Editor and Revisor
-
Data Manager
-
Date Encoder
-
Editor
-
Encoder
-
Encoder (Bibliography)
-
Geographic Information Specialist
-
Geographic Information Specialist (Agas)
-
Junior Programmer
-
Markup Editor
-
Metadata Co-Architect
-
MoEML Encoder
-
MoEML Transcriber
-
Post-conversion processing and markup correction
-
Programmer
-
Proofreader
-
Researcher
-
Second Author
-
Toponymist
-
Transcriber
-
Transcription Editor
Contributions by this author
Joey Takeda is a member of the following organizations and/or groups:
Joey Takeda is mentioned in the following documents:
-
-
Janelle Jenstad
JJ
Janelle Jenstad is Associate Professor of English at the University of Victoria, Director of The Map of Early Modern London, and PI of Linked Early Modern Drama Online. She has taught at Queen’s University, the Summer Academy at the Stratford Festival, the University of Windsor, and the University of Victoria. With Jennifer Roberts-Smith and Mark Kaethler, she co-edited Shakespeare’s Language in Digital Media (Routledge). She has prepared a documentary edition of John Stow’s A Survey of London (1598 text) for MoEML and is currently editing The Merchant of Venice (with Stephen Wittek) and Heywood’s 2 If You Know Not Me You Know Nobody for DRE. Her articles have appeared in Digital Humanities Quarterly, Renaissance and Reformation,Journal of Medieval and Early Modern Studies, Early Modern Literary Studies, Elizabethan Theatre, Shakespeare Bulletin: A Journal of Performance Criticism, and The Silver Society Journal. Her book chapters have appeared (or will appear) in Institutional Culture in Early Modern Society (Brill, 2004), Shakespeare, Language and the Stage, The Fifth Wall: Approaches to Shakespeare from Criticism, Performance and Theatre Studies (Arden/Thomson Learning, 2005), Approaches to Teaching Othello (Modern Language Association, 2005), Performing Maternity in Early Modern England (Ashgate, 2007), New Directions in the Geohumanities: Art, Text, and History at the Edge of Place (Routledge, 2011), Early Modern Studies and the Digital Turn (Iter, 2016), Teaching Early Modern English Literature from the Archives (MLA, 2015), Placing Names: Enriching and Integrating Gazetteers (Indiana, 2016), Making Things and Drawing Boundaries (Minnesota, 2017), and Rethinking Shakespeare’s Source Study: Audiences, Authors, and Digital Technologies (Routledge, 2018).Roles played in the project
-
Annotator
-
Author
-
Author of Abstract
-
Author of Stub
-
Author of Term Descriptions
-
Author of Textual Introduction
-
Compiler
-
Conceptor
-
Copy Editor
-
Copyeditor
-
Course Instructor
-
Course Supervisor
-
Course supervisor
-
Data Manager
-
Editor
-
Encoder
-
Encoder (Structure and Toponyms)
-
Final Markup Editor
-
GIS Specialist
-
Geographic Information Specialist
-
Geographic Information Specialist (Modern)
-
Geographical Information Specialist
-
JCURA Co-Supervisor
-
Main Transcriber
-
Markup Editor
-
Metadata Co-Architect
-
MoEML Project Director
-
MoEML Transcriber
-
Name Encoder
-
Peer Reviewer
-
Primary Author
-
Project Director
-
Proofreader
-
Researcher
-
Reviser
-
Revising Author
-
Second Author
-
Second Encoder
-
Toponymist
-
Transcriber
-
Transcription Proofreader
-
Vetter
Contributions by this author
Janelle Jenstad is a member of the following organizations and/or groups:
Janelle Jenstad is mentioned in the following documents:
Janelle Jenstad authored or edited the following items in MoEML’s bibliography:
-
Jenstad, Janelle.
Building a Gazetteer for Early Modern London, 1550-1650.
Placing Names. Ed. Merrick Lex Berman, Ruth Mostern, and Humphrey Southall. Bloomington and Indianapolis: Indiana UP, 2016. 129-145. -
Jenstad, Janelle.
The Burse and the Merchant’s Purse: Coin, Credit, and the Nation in Heywood’s 2 If You Know Not Me You Know Nobody.
The Elizabethan Theatre XV. Ed. C.E. McGee and A.L. Magnusson. Toronto: P.D. Meany, 2002. 181–202. Print. -
Jenstad, Janelle.
Early Modern Literary Studies 8.2 (2002): 5.1–26..The City Cannot Hold You
: Social Conversion in the Goldsmith’s Shop. -
Jenstad, Janelle.
The Silver Society Journal 10 (1998): 40–43.The Gouldesmythes Storehowse
: Early Evidence for Specialisation. -
Jenstad, Janelle.
Lying-in Like a Countess: The Lisle Letters, the Cecil Family, and A Chaste Maid in Cheapside.
Journal of Medieval and Early Modern Studies 34 (2004): 373–403. doi:10.1215/10829636–34–2–373. -
Jenstad, Janelle.
Public Glory, Private Gilt: The Goldsmiths’ Company and the Spectacle of Punishment.
Institutional Culture in Early Modern Society. Ed. Anne Goldgar and Robert Frost. Leiden: Brill, 2004. 191–217. Print. -
Jenstad, Janelle.
Smock Secrets: Birth and Women’s Mysteries on the Early Modern Stage.
Performing Maternity in Early Modern England. Ed. Katherine Moncrief and Kathryn McPherson. Aldershot: Ashgate, 2007. 87–99. Print. -
Jenstad, Janelle.
Using Early Modern Maps in Literary Studies: Views and Caveats from London.
GeoHumanities: Art, History, Text at the Edge of Place. Ed. Michael Dear, James Ketchum, Sarah Luria, and Doug Richardson. London: Routledge, 2011. Print. -
Jenstad, Janelle.
Versioning John Stow’s A Survey of London, or, What’s New in 1618 and 1633?.
Janelle Jenstad Blog. https://janellejenstad.com/2013/03/20/versioning-john-stows-a-survey-of-london-or-whats-new-in-1618-and-1633/. -
Shakespeare, William. The Merchant of Venice. Ed. Janelle Jenstad. Internet Shakespeare Editions. Open.
-
Stow, John. A SVRVAY OF LONDON. Contayning the Originall, Antiquity, Increase, Moderne estate, and description of that Citie, written in the yeare 1598. by Iohn Stow Citizen of London. Also an Apologie (or defence) against the opinion of some men, concerning that Citie, the greatnesse thereof. With an Appendix, containing in Latine, Libellum de situ & nobilitate Londini: written by William Fitzstephen, in the raigne of Henry the second. Ed. Janelle Jenstad and the MoEML Team. MoEML. Transcribed. Web.
-
-
Martin D. Holmes
MDH
Programmer at the University of Victoria Humanities Computing and Media Centre (HCMC). Martin ported the MOL project from its original PHP incarnation to a pure eXist database implementation in the fall of 2011. Since then, he has been lead programmer on the project and has also been responsible for maintaining the project schemas. He was a co-applicant on MoEML’s 2012 SSHRC Insight Grant.Roles played in the project
-
Abstract Author
-
Author
-
Author of abstract
-
Conceptor
-
Encoder
-
Markup editor
-
Name Encoder
-
Post-conversion and Markup Editor
-
Post-conversion processing and markup correction
-
Programmer
-
Proofreader
-
Researcher
Contributions by this author
Martin D. Holmes is a member of the following organizations and/or groups:
Martin D. Holmes is mentioned in the following documents:
-