A modern, responsive website for hosting and displaying research posters and publications as PDF files. This repository automatically generates a beautiful gallery-style index page from PDF files using Jinja2 templates and GitHub Actions.
posters/
├── .github/workflows/publish.yaml # GitHub Actions workflow
├── create-index.py # Python script to generate index
├── index.html.j2 # Jinja2 template for the website
├── _site/ # Generated site directory (auto-created)
│ ├── index.html # Generated website
│ └── *.pdf # Copied PDF files
├── *.pdf # Your poster/publication files
└── README.md # This file
- Add PDF Files: Simply add your PDF posters/publications to the repository root
- Push to Main: The GitHub Actions workflow automatically triggers
- Auto-Generation: The Python script scans for PDFs and generates metadata
- Site Creation: Creates a
_sitedirectory with the generated HTML and copied PDFs - Template Rendering: Jinja2 creates a beautiful HTML page from the template
- Deployment: GitHub Pages automatically deploys the
_sitedirectory
- Python 3.13+
- Jinja2 template engine
- GitHub Pages enabled for the repository
To test the site generation locally:
# Install dependencies
pip install jinja2
# Generate the index page
python3 create-index.py
# Open index.html in your browser
open _site/index.html- Add your PDF file to the repository root
- Commit and push to the
mainbranch - The site will automatically update within a few minutes
The system automatically creates clean titles from filenames:
data_sciences_stats_flyer_2022.pdf→ "Data Sciences Stats Flyer 2022"hermes-poster-eurobioc2022.pdf→ "Hermes Poster Eurobioc2022"research_paper_v3.pdf→ "Research Paper V3"