Any of the 5 organizers can now:
data.json and the site updates.intro.json is updated and the site updates.No one needs to touch JSON, git, or code directly.
.github/ISSUE_TEMPLATE/new-talk.yml.github/ISSUE_TEMPLATE/edit-intro.yml.github/workflows/add-talk.yml.github/workflows/edit-intro.yml.github/scripts/add_talk.py.github/scripts/update_intro.pyintro.json (only if you don’t already have an intro file — see step 3)In your repo’s Settings → Actions → General → Workflow permissions, make sure “Read and write permissions” is selected (needed so the Action can push commits).
Wire up the introduction text. Wherever main.js / index.html currently
renders the hardcoded intro text, replace it with something like:
fetch('intro.json')
.then(res => res.json())
.then(data => {
document.getElementById('intro').innerHTML = data.introduction;
});
(Adjust 'intro' to whatever element id currently holds the intro text —
you’ll need to find that one spot in main.js/index.html and swap it in.)
assets/abstracts/<speakerfirstname>_abstract.pdf,
assets/notes/<speakerfirstname>_notes.pdf, images/<speakerfirstname>.jpg.
If a speaker gives a second talk, the script auto-appends 2, 3, etc. to
avoid overwriting the first file.data.json entries,
so it’ll just show up empty ("") for past talks until you fill it in.