Publication-to-News Automation System
This system automatically generates news entries from publication updates in _data/publications.yml.
How it works
1. Publication Configuration
In _data/publications.yml, each publication can have these automation fields:
- id: "unique_publication_id"
title: "Your Paper Title"
authors: "Author List"
venue: "Conference/Journal Name"
status: "accepted" # or "under_review", "published", "accepted_highlight"
year: 2025
generate_news: true # Enable automatic news generation
news_date: "July 25" # When the news should appear
news_template: "📝🏆 <a href='{arxiv}'>Paper Title</a> accepted at {venue}!"
arxiv: "https://arxiv.org/abs/xxxx"
github: "https://github.com/user/repo"
2. Template Variables
Available variables in news_template:
{title}- Publication title{venue}- Publication venue{arxiv}- arXiv link{github}- GitHub repository link{paper_link}- Direct paper link{ieee_link}- IEEE Xplore link{project_page}- Project page link
3. Automatic News Generation
Method 1: Jekyll Plugin (Recommended)
The _plugins/news_generator.rb automatically generates news during Jekyll build.
Method 2: Manual Script
Run the update script manually:
cd /path/to/your/blog
ruby scripts/update_news.rb
4. News Display
The system automatically:
- Checks existing news in
_data/news.yml - Generates new entries for publications with
generate_news: true - Combines manual and auto-generated news
- Sorts by date (most recent first)
5. Adding New Publications
To add a new publication that should generate news:
- Add the publication to
_data/publications.ymlwith:- Unique
id generate_news: truenews_datewhen you want the announcementnews_templatewith your desired message format
- Unique
- The news will be automatically generated on next build
6. Manual News Entries
You can still add manual news entries to _data/news.yml:
- date: "Aug. 25"
content: "🎤 Gave a seminar at XYZ University"
# No pub_id means this is manual
7. Preventing Duplicates
The system uses pub_id to track which publications already have news entries, preventing duplicates.
Example Workflow
- New paper accepted: Update
_data/publications.ymlwithstatus: "accepted"and setnews_date - News auto-generated: System creates appropriate news entry
- Manual updates: Add any additional context to
_data/news.ymlif needed
Benefits
- ✅ Consistent news formatting
- ✅ No manual duplication of publication info
- ✅ Automatic chronological ordering
- ✅ Support for both manual and auto-generated news
- ✅ Easy to maintain and update
- ✅ Prevents forgotten news announcements