A dependency-free static website, ready for GitHub Pages.
- Push this repository to GitHub.
- Open Settings - Pages in the repository.
- Under Build and deployment, choose Deploy from a branch.
- Select your main branch and
/ (root), then save.
The publication tracker is generated by scripts/sync_publications.py from ORCID, Crossref and arXiv metadata. Talks live in scripts/talks.json. The CV publication and talks blocks are generated from the same website data by scripts/build_cv.py.
The scheduled GitHub Action in .github/workflows/sync-publications.yml runs every Monday and can also be started manually from the Actions tab. It will:
- update
assets/publications.js, - generate
assets/talks.jsfromscripts/talks.json, - rewrite the generated Publications and Talks sections in
cv/Michiel_De_Wilde_CV.tex, - compile
cv/Michiel_De_Wilde_CV.pdf, - copy the PDF to
assets/CV_Michiel_De_Wilde.pdffor the website download link, - commit the changes if anything changed.
For a local refresh after editing publication or talk metadata, run:
python scripts/sync_publications.py
python scripts/build_cv.py --no-compileThen compile cv/Michiel_De_Wilde_CV.tex and copy the resulting PDF to assets/CV_Michiel_De_Wilde.pdf.
Do not edit assets/publications.js by hand unless you only need a temporary local experiment; it is generated and the next sync will overwrite it.
Preferred route for indexed/public work:
- Add the paper to ORCID or arXiv.
- Run:
python scripts/sync_publications.py
python scripts/build_cv.py --no-compileThe publication page and generated CV publication block will update from the synced metadata.
For a manual website publication entry, add an object to scripts/manual-publications.json:
{
"type": "preprint",
"year": "2026",
"title": "Your paper title",
"authors": "M. De Wilde, A. Collaborator",
"venue": "arXiv",
"url": "https://arxiv.org/..."
}For a CV-only entry, such as a manuscript under review, add an object to scripts/cv-extra-publications.json:
{
"type": "under review",
"year": "2026",
"title": "Your manuscript title",
"authors": "M. De Wilde, A. Collaborator",
"venue": "Journal name",
"url": ""
}After editing either JSON file, run:
python scripts/build_cv.py --no-compileAdd a talk once in scripts/talks.json; this updates both the website CV page and the PDF CV after running the builder.
Copy one object and edit the values:
{
"date": "2026-03-24",
"event": "Mathematical Physics & Analysis Seminar",
"venue": "ISTA",
"title": "Arbitrary harmonic functions as Bose-Einstein condensates"
}Keep the date in YYYY-MM-DD format so talks sort newest first automatically. Then run:
python scripts/build_cv.py --no-compile- Add indexed/public papers through ORCID or arXiv where possible.
- Add manual website publication entries in
scripts/manual-publications.json. - Add CV-only entries, such as manuscripts under review, in
scripts/cv-extra-publications.json. - Add talks once in
scripts/talks.json.
Filters and search update automatically from assets/publications.js; the website talk list updates automatically from assets/talks.js.
Field Notes is active and currently contains visual recaps of the research papers. Possible future additions: a separate open-questions page and a reading list.