HMTArchive.jl

Overview

HmtArchive is a Julia package for working with the citable content freely available from the Homer Multitext project's github repository for archival data at https://github.com/homermultitext/hmt-archive. In its current early version, its primary focus is on generating a complete serialization of all material in the archive in delimited-text format following the CEX specification, and instantiating all content in the serialized release as Julia objects.

Brief example

Creating an Archive

You create an Archive object using the path in your local file system to the archive directory in a downloaded or cloned copy of the hmt-archive repository. Here, we've defined a variable root with that full path.

using HmtArchive
hmt = Archive(root)
Archive("/home/runner/work/HmtArchive.jl/hmt-archive/archive")

Publishing an Archive

Three exported functions compile a complete description of the archive in CEX format. All three functions take the same parameters: an Archive, and a string value identifying the release.

  1. librarycex returns a single (large!) CEX string
  2. writerc writes the CEX output to the hmt-archive's release-candidates directory
  3. publish writes the CEX output to the hmt-archive's releases-cex directory
Note

The functions that add content to hmt-archive do not commit or push anything to the repository. You still need to do that manually. (That is a feature.)

writerc(hmt, "2022alpha")

In the current version of HmtArchive, the CEX accounts for the following components:

  • diplomatic editions of all texts
  • normalized editions of all texts
  • catalog of all texts
  • all DSE records
  • collection of all data models in the library
  • collection of all codices
  • collection of all images
  • collections of authority lists for personal names, place names, astronomical entities, and texts no longer extant
  • indexes of scholia to Iliad passages