Personal website — sonnino.com
Personal website — sonnino.com
Jekyll site (hacked from the Minimal Mistakes / academicpages template), deployed on GitHub Pages at https://sonnino.com. Local preview: bundle exec jekyll serve --config _config.yml,_config.dev.yml.
How content is wired
- Publications & tech reports are driven by
_data/papers.json. Each entry’sfilenamemust match a PDF inpapers/exactly.categoryroutes entries to_pages/publications.mdvs_pages/reports.md. - Talks are driven by
_data/talks.json. Theslidesfield resolves to/slides/alberto-sonnino/<file>; entries inpapersresolve to/papers/<file>. Filenames must match disk exactly — typos become silent 404 links. - Keep both JSON files strict JSON (no trailing commas). Jekyll’s YAML parser tolerates them, but other tools choke.
Intentional quirks — do not “fix”
- Empty links like
[2027]()in_pages/academia.mdare placeholders for CFP/committee pages not yet published. Leave them until the URL exists. _pages/pictures.md(/pictures/) is deliberately absent from_data/navigation.yml: it exposes theimages/Alberto Sonnino - N.jpgphotos to crawlers for Google Images visibility without showing them on the site.- Unlisted PDFs in
papers/(e.g. the Libra ones) are hosted on purpose even though no page links them. Old slide versions inslides/are an archive; most are unreferenced by design.
Build constraints
- Keynote
*.keysources live next to the exported PDFs inslides/but are excluded from the build (excludelist in_config.yml) to keep the deployed site under the GitHub Pages 1 GB limit. Keep them in the repo; never publish them.
