python add_publication.pyThe script will prompt you for title, authors, venue, type, year, and links, then automatically regenerate the HTML pages.
- Edit
publications.jsondirectly - Run:
python generate_html.pyThis regenerates both publications.html and es/publications.html.
| File | Purpose |
|---|---|
publications.json |
Source of truth for all publications |
generate_html.py |
Regenerates EN and ES HTML from JSON |
add_publication.py |
Interactive script to add a new entry |
| Type key | Section heading |
|---|---|
journal |
Peer-Reviewed Journal Articles |
archival-conference |
Archival Conference Papers |
workshop |
Workshop Papers and Extended Abstracts |
book-chapter |
Book Chapters |
policy-report |
Policy Reports |
{
"title": "Paper Title",
"authors": ["First Author", "Second Author"],
"venue": "Journal Name, Volume(Issue), Year",
"venue_es": "Optional Spanish venue override",
"year": 2025,
"publication_type": "journal",
"url": "https://doi.org/...",
"slides_link": null
}Notes:
year: Usenullfor forthcoming publications (they sort to the top)venue_es: Only needed when the Spanish venue differs (e.g., book chapters with "In:" vs "En:", or translated publisher names)url: The main paper/DOI link. Makes the title clickable for all types. Usenullif no link available.slides_link: Only rendered forworkshoptype entries. Shows a[Slides]button below the venue. Usenullto omit.- Publications are sorted by year descending within each section.
How links render by type:
- journal / archival-conference / book-chapter / policy-report: Title links to
url. No extra buttons. - workshop: Title links to
url(abstract/paper). Separate[Slides]button ifslides_linkis set.
{
"title": "My New Paper on AI Governance",
"authors": ["Jose A. Guridi", "Co-Author Name"],
"venue": "[DIS'26] ACM Designing Interactive Systems, 2026",
"year": 2026,
"publication_type": "archival-conference",
"url": "https://doi.org/10.1145/example",
"slides_link": null
}Then run python generate_html.py to update the website.