-
Notifications
You must be signed in to change notification settings - Fork 0
Directory
The directory is a Jekyll collection recording people, institutions, and projects associated with MishMash. Entries live under site/_directory/ and are published at clean URLs (/people/…, /institutions/…, /projects/…).
Current scale: 117 people, 36 institutions, 22 projects.
site/_directory/
├── people/
│ ├── _template/index.md # Template for new entries
│ └── {slug}/index.md # One folder per person
├── institutions/
│ ├── _template/index.md
│ └── {slug}/index.md
└── projects/
└── {slug}/index.md
Each entry is a Markdown file with YAML front matter. Body content is optional.
| Type | Permalink | Legacy redirect |
|---|---|---|
| Person | /people/{slug}/ |
/directory/people/{slug}/ |
| Institution | /institutions/{slug}/ |
/directory/institutions/{slug}/ |
| Project | /projects/{slug}/ |
— |
Reference related entries by slug in list fields (people, institutions, projects):
people:
- alexander-refsum-jensenius
- eirik-sorboDo not use path-style references like /people/alexander-refsum-jensenius/. The validator warns about these; sync_directory_reciprocity.py normalises them on save during the nightly sync.
Links must be bidirectional: if an institution lists a person, that person must list the institution (and likewise for projects).
---
type: person
slug: alexander-refsum-jensenius
name: Alexander Refsum Jensenius
position: Professor
institution: university-of-oslo
institutions:
- university-of-oslo
projects: []
roles:
- Board Leader
urls:
nva: https://nva.sikt.no/...
orcid: https://orcid.org/...
institutional_website: https://www.uio.no/...
tags: []
search_keywords: []
summary:
layout: person
permalink: /people/alexander-refsum-jensenius/
redirect_from:
- /directory/people/alexander-refsum-jensenius/
---The roles field is manually curated and drives filters on /people/network/. Use these canonical labels:
| Role | Used for |
|---|---|
Member |
Consortium members (not WP leaders) |
Work package leader |
All 21 WP leaders in site/_data/work_packages.yml
|
Council member |
Scientific council |
Board member, Board Leader
|
Board of directors |
Director, Deputy director, Research advisor, Administrative coordinator
|
Centre leadership |
Associate member, Affiliate member
|
External stakeholders |
Deprecated spellings (Full member, Board Member, Work Package Leader Group member) trigger validator warnings. WP leaders are identified from work_packages.yml, not only from the roles field — every listed WP leader should have Work package leader in roles.
---
type: institution
slug: university-of-oslo
name: University of Oslo
short_name: UiO
people:
- alexander-refsum-jensenius
projects: []
urls:
website: https://www.uio.no/english/
wikipedia: https://en.wikipedia.org/wiki/University_of_Oslo
layout: page
permalink: /institutions/university-of-oslo/
---Many person fields are refreshed nightly from NVA (and ORCID as fallback) by scripts/enrich_directory_from_nva.py. GitHub Actions workflow: .github/workflows/enrich-directory-people.yml.
Overwritten when urls.nva is set:
-
position,department,institution,institutions,nva_affiliations(active affiliations only) -
tags,search_keywords,summary,selected_works,other_projects -
urls.institutional_website,urls.nva,urls.orcid -
image(portrait download)
Preserved for manual curation:
-
name,title,slug -
roles,projects,source_mentions - Social URLs (
github,linkedin,youtube, …) - Markdown body
selected_works on person profiles excludes:
- Lectures, media appearances, and letters to the editor
- Works where the profile holder is listed in NVA as Supervisor (e.g. supervised theses they did not author)
other_projects lists active NVA research projects the person contributes to (excluding MishMash). Ended projects are filtered out during sync.
To add a person: copy site/_directory/people/_template/, set slug, name, and urls.nva or urls.orcid, then run enrich locally or wait for the nightly job.
python3 scripts/enrich_directory_from_nva.py --discover-nva --discover-nva-loose --max-works 10
python3 scripts/enrich_directory_from_nva.py --slug some-person --dry-runBoard, council, and WP leader lists can seed directory entries from organisation pages:
python3 scripts/generate_directory_governance.pyThe canonical WP leader membership list lives in site/_data/work_packages.yml (21 members across WP1–WP7).
python3 scripts/validate_directory.pyErrors (must fix before merge): required fields, slug/folder mismatch, unknown references, broken reciprocity.
Warnings (informational): deprecated or non-standard roles, missing NVA/ORCID (external profiles that won't auto-sync), path-style slug lists, WP leaders missing Work package leader role.
Fix reciprocity automatically:
python3 scripts/sync_directory_reciprocity.pyResearch tags appear in tags and search_keywords on profiles and events. NVA import can introduce spelling variants. Normalise with the tag merge tooling — see Tags and Keywords. The nightly CI runs merge_tags.py after each NVA sync.
/people/network/ visualises connections by institution, tag, or work package.
Role filters:
- Board — roles containing "Board"
- Council — roles containing "Council"
-
Members — exact role
Member -
WP Leaders — slugs listed in
site/_data/work_packages.yml(all 21)
Tag display groups are defined in site/_data/tag_groups.yml.
Directory entries are indexed in site/search.json with type values person, institution, or project.
Lowercase ASCII letters, digits, and hyphens only. Norwegian characters: æ→ae, ø→oe, å→aa.