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.yml
with:- Unique
id
generate_news: true
news_date
when you want the announcementnews_template
with 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.yml
withstatus: "accepted"
and setnews_date
- News auto-generated: System creates appropriate news entry
- Manual updates: Add any additional context to
_data/news.yml
if 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