Skip to content

About

overview of what makes for successful commits to the Perseus Digital Library's Canonical GreekLit repository

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Perseus canonical-greekLit — contributor analysis

A tiered analysis of the PerseusDL/canonical-greekLit commit record (2013–2026), focused on how short-term staff, interns, and outside contributors actually get work merged. Built as a Quarto website and published with GitHub Pages.

  • Report — index.qmd → the site landing page.
  • PR template — perseus-PR-template.md, rendered at template.qmd; a copy-and-commit checklist distilled from the same evidence.

Every figure in the report is computed at render time by the Python cells, running against the four TSVs in data/. Nothing is hard-coded.

Repository layout

.
├── index.qmd                  # the report (becomes index.html)
├── template.qmd               # renders perseus-PR-template.md as a page
├── perseus-PR-template.md     # the authoritative checklist artifact
├── data/                      # the four exported TSVs the cells read
│   ├── perseus-authors.tsv
│   ├── perseus-editlog.tsv
│   ├── perseus-numstat.tsv
│   └── perseus-merges.tsv
├── _quarto.yml                # website + HTML format config
├── requirements.txt           # Python deps for cell execution (jupyter)
└── .github/workflows/publish.yml

Published to GitHub Pages

  1. Create a new empty GitHub repository and push this tree to the main branch.
  2. In the repo, open Settings → Pages and set Source to GitHub Actions.
  3. Every push to main runs .github/workflows/publish.yml, which installs Quarto + Python, runs quarto render, and deploys _site/. The workflow also runs on demand from the Actions tab (Run workflow).
  4. The site appears at https://<user>.github.io/<repo>/ (or your Pages custom domain).

No gh-pages branch and no committed HTML are needed — the Actions build produces and deploys the site artifact directly.

To build locally

Requires Quarto and Python 3.11+.

pip install -r requirements.txt
quarto preview      # live-reloading local server while editing
quarto render       # one-off build into _site/

A PDF of the report can be produced locally without affecting the website:

quarto render index.qmd --to pdf

(PDF output needs a LaTeX install; quarto install tinytex provides one.)

Regenerate the data

The TSVs were exported from a full clone of the analyzed repository:

git log --no-merges --name-status --no-renames --date=short \
  --pretty=format:'C%x09%H%x09%an%x09%ae%x09%ad%x09%s' \
  -- 'data/**/*.xml' > data/perseus-editlog.tsv

git log --no-merges --date=short \
  --pretty=format:'%H%x09%an%x09%ae%x09%ad%x09%s' > data/perseus-authors.tsv

git log --no-merges --numstat --no-renames --date=short \
  --pretty=format:'C%x09%H%x09%an%x09%ae%x09%ad%x09%s' \
  -- 'data/**/*.xml' > data/perseus-numstat.tsv

git log --merges --date=short \
  --pretty=format:'%H%x09%an%x09%ad%x09%s' > data/perseus-merges.tsv

The identity→tier map in the setup cell of index.qmd is the one place to audit: it is deterministic and identity-based, so adding a newly identified person or moving someone between tiers is a one-line change that flows through every table.

License

Contributions to digital editions for the Perseus Digital Library are CC-BY-SA 4.0. This analysis of its contributor commits follows suit.

About

overview of what makes for successful commits to the Perseus Digital Library's Canonical GreekLit repository

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors