Code: MIT · Text & data © Edward A. Reno III (see LICENSE.md)
A searchable web edition of Bernard of Parma's Glossa Ordinaria to the Decretals of Gregory IX (Liber extra), built from Prof. Edward Reno's complete master text (Books 1–5, rev. 9/23: 9,872 gloss units under 1,970 capitula headings, 185 titles, plus the Rex pacificus preface) and his title-abbreviations spreadsheet.
web/— the full Next.js site (App Router, TypeScript, static export). This is the flagship: it reproduces all content of the original Google Site and adds tooling on top. A ready-to-deploy build is inweb/out/(serve over HTTP; e.g.npx serve web/out). Seeweb/README.mdfor dev/build/deploy.digital-decretals.html— single self-contained file (5 MB), same search engine and complete text, zero infrastructure: double-click and it works offline. Good for emailing around or USB-stick scholarship.
- Search (
/): free-text search of the whole gloss with exact-punctuation matching (the allegation system depends on it), plus ignore-punctuation / match-case / whole-word modes, filters by book → title → chapter, per-book hit counts, highlighted results citing each gloss asX 4.17.13 s.v. Habeat potestatem, and a Browse panel of the full book/title/capitulum/lemma architecture with a reading view (prev/next, deep links like/?loc=4.17.13; legacy#hashlinks from the single-file edition still work). - Register integration: opening any capitulum shows its inscription, its standardized allegation form, and the register's allegation count, with one click to retrieve all of its allegations across the gloss. Validated register-wide: for 1,969 of 1,971 capitula (99.9%) the register count exactly equals the corpus hits of the standardized search string (the two exceptions are in the errata below).
- Abbreviations explorer (
/abbreviations): the entire spreadsheet as a live, filterable tool — capitula register (with allegation counts, linked to search and reading view), 185 Decretals title abbreviations, 896 Roman-law title rows (Codex/Digest/Institutes/Novellae, with "sometimes found" variants), and the 31 extravagantes. - Full content migration of the original Google Site, page for page: the Home introduction (NB note, full text, byline) on the landing page;
/about(introduction + scope/history + dated project updates);/text(text base, orthography, abbreviations, punctuation, numeration, Word/PDF usage notes, downloads);/allegations(the complete tutorial — Decretum, Liber extra, extravagantes, Codex/authenticae, Digest, Institutes, Novellae, additional considerations, caveats, the full jurist sigla list, mnemonic verses — every example wired to a working "Search →" button);/ancillaria(all five resource links with descriptions);/gratissimi;/contact. The original "Embedded Text" pages (the gloss pasted for in-browser Ctrl-F) are superseded by Search, noted on/text. - Downloads (
/text): the rev. 9/23 Word, PDF, and spreadsheet files served locally — plus individual book files (Books 1–5, Word, generated byte-exact from the rev. 9/23 master viabuild/split_books.py; Book 1 includes the Rex pacificus preface, following Reno's own convention) and the single-file offline edition. - Citation hypertext: all 18,257 standardized Liber extra allegations in the gloss are precomputed links (
build/make_links.py, 1,970/1,971 exact agreement with the register) — click any allegation to jump to the capitulum it cites, in the app or on the static pages. - Per-capitulum pages (
/x/4.17.13etc.): 1,970 pre-rendered, SEO-indexable pages, one per glossed capitulum, with register info and hyperlinked glosses; all in the sitemap. - Statistics (
/statistics): most-alleged capitula, citation counts by source corpus (~40k allegations total), jurist sigla frequencies, and the complete anthology of 55 mnemonic-verse glosses. - Search extras: CSV export of any result set; orthographic-tolerance mode (ae/oe ≡ e, v ≡ u) so medieval spellings match the classical orthography. (The single-file offline edition keeps the core search but not the hypertext/chapter pages.)
Static export, no server, no tracking; all searching happens client-side. CI (GitHub Actions) runs the 47-check corpus/register suite and a production build on every push. The site ships a sitemap and robots.txt (the canonical URL is taken from Vercel's production-URL env, overridable via NEXT_PUBLIC_SITE_URL), per-page metadata with an OG template, a styled 404 and client error boundary, lang="la" on Latin text for screen readers, and a single-file offline edition downloadable from /text.
cd web
npm run data # re-parses the master .docx in this folder → public/gloss-data.json
npm run build # static site → web/out
npm test # 47 checks against the corpusbuild/parse_gloss.py is the shared parser; build/build_app.py "<master>.docx" regenerates the single-file edition. The abbreviations JSON was extracted from the spreadsheet (see build/ history); re-extraction is only needed if the spreadsheet is revised.
Found while validating data integrity (zero text loss confirmed against the Word file):
- X 3.37.04 appears twice in the Word file: once as Dilectus filius M. (4 glosses: Asserunt, Nulla mentio, Occupationem…) and once as Ad audientiam. Per the register, X 3.37.4 = Ad audientiam; the first block is presumably a misnumbered continuation of X 3.37.02 Dilectus filius M. The site keeps both as transcribed.
- X 1.11.17 Quaesitum (19 allegations in the register) and X 2.8.4 Exposuit (2) have no gloss sections in the Word file — either genuinely unglossed capitula or omitted in transcription. (Hence 1,970 chapter headings vs the register's 1,971 capitula.)
- Spreadsheet typo: the register's incipit for X 4.7.6 reads signifiasti; the gloss text and the Word file's chapter heading have Significasti. Corrected to significasti in the site's data (the corpus then matches the register count of 2 exactly).
- X 1.22.1 (de cleri. peregri., tua nos): register says 3 allegations; the text contains 2.
- Two empty Heading-4 paragraphs in Book V (after X 5.1.18 and X 5.1.23) — harmless, skipped by the parser.
- Resolved since the earlier draft: the two stray
ff. de reg. iur.citations (X 1.9.14, X 1.37.3) were fixed in rev. 9/23 — the Digest form is now uniformlyff. de regul. iur.(133×).
The earlier partial masters (Decretals Gloss, online version (without Casus).docx, Book 1 and Book 4 isolates) are kept for reference; the site is built from Decretals Gloss, Books 1-5 Complete, rev. 9.23.docx.