Publication Maintenance Workflow
Publication Maintenance Workflow
This site now has a lightweight data-driven workflow for publications and technical reports.
Add From YAML
- Copy
scripts/templates/publication.ymlto a scratch file. - Fill in
slug,collection,title,authors,venue,date,links,topics, and optionalabstract/bibtex. - Preview the generated publication file:
ruby scripts/publication_tools.rb new path/to/publication.yml --dry-run
- Generate the publication card data:
ruby scripts/publication_tools.rb new path/to/publication.yml
Use collection: technical_reports for a technical report. The script will write to _technical_reports/ and add type: "Technical report" automatically.
Add From BibTeX
BibTeX can be used as the starting point, with site-specific metadata supplied on the command line:
ruby scripts/publication_tools.rb new paper.bib \
--collection publications \
--venue ICLR \
--date 2026-05-01 \
--topics "LLM Systems,Data & Evaluation"
BibTeX generation extracts title, authors, year, venue, URL, and the raw BibTeX block when those fields are present. YAML is still preferred when you want abstracts, highlights, or multiple links.
Validate Before Build
Run this before opening a PR:
ruby scripts/publication_tools.rb validate
bundle exec jekyll build --trace
The validator checks active files in _publications/*.md and _technical_reports/*.md. It ignores archived files in nested folders such as _publications/__old/.
It currently verifies:
- Required front matter:
title,date,venue,pubtype, andexcerpt pubtypematches the year parsed fromdate- Technical reports use
type: "Technical report" - Every active publication has topics in
_data/publication_topics.yml - Every active publication has at least one link in structured data, front matter, or its excerpt
- Structured link entries have
labelandurl - Topic/link/highlight/featured data does not reference stale publication slugs
GitHub Actions runs the same validation before the Jekyll build.
