Create a new OPODIS conference website in 15 minutes. This template provides everything you need to set up a professional conference website with schedule management, paper listings, and registration.
Click the green "Use this template" button at the top of this page:
- Select "Create a new repository"
- Name it:
opodis-YYYY(e.g.,opodis-2025) - Choose Public visibility
- Click "Create repository"
# Clone your new repository
git clone https://github.com/YOUR_USERNAME/opodis-YYYY.git
cd opodis-YYYY
# Install Ruby 3.1.4 (using rbenv)
brew install rbenv ruby-build
rbenv install 3.1.4
rbenv local 3.1.4
# Install dependencies
gem install bundler
bundle installEdit files in docs/_data/ with your conference details:
Essential files (update immediately):
conference.yml- Year, city, dates, contactsdates.yml- Submission and registration deadlinesvenue.yml- Conference location
As planning progresses:
keynotes.yml- Invited speakers (use "TBA" initially)program.yml- Schedule and sessionscommittees.yml- Organizing and program committeespapers.yml- Accepted papers (after review)registration.yml- Fees and deadlinescfp.yml- Call for papers texttravel.yml- Travel informationsponsors.yml- Sponsors and supporters
# Generate schedule grid (run after editing program.yml)
bundle exec ruby scripts/generate_outline_grid.rb
# Preview locally with live reload
bundle exec jekyll serve --source docs --destination docs/_site --livereloadVisit http://localhost:4000 to see your site.
- Go to Settings → Pages
- Set source to main branch,
/docsfolder - Commit and push your changes:
git add . git commit -m "Configure OPODIS YYYY" git push origin main
- Your site will be live at:
https://YOUR_USERNAME.github.io/opodis-YYYY/
- QUICKSTART.md – Guided 15-minute setup workflow
- config/CONFIG.md – Comprehensive configuration reference
- config/BUILD.md – Build system and deployment guide
- config/CHANGES.md – Recent template improvements
See the sample-opodis23 branch for a complete working example (OPODIS 2023):
git checkout sample-opodis23- Configuration-driven: All content in YAML files
- Automated schedule: Smart time calculation with validation
- Progressive disclosure: Use "TBD" for incomplete information
- Responsive design: Bootstrap-based mobile-friendly layout
- Draft support: TBA badges for unconfirmed speakers/content
docs/_data/ # Edit these YAML files for your conference
├── conference.yml # Core info (year, city, dates)
├── dates.yml # Important deadlines
├── program.yml # Schedule definition
├── papers.yml # Accepted papers
└── ... # Other configuration
docs/_includes/ # Reusable template components
docs/img/ # Add your logos and photos here
scripts/ # Helper scripts (schedule generator)
- Issues: Report bugs or request features
- Questions: See config/CONFIG.md
- OPODIS: Visit opodis.net
Ready to start? Follow the 5-step guide above or read QUICKSTART.md for detailed instructions.
- ✅ TBD/incomplete information (e.g., "To be announced")
- ✅ Progressive disclosure (show/hide sections as info becomes available)
- ✅ Optional fields (photos, abstracts can be added later)
- ✅ Validation (catches schedule conflicts and inconsistencies)
Generator provides clear error messages for:
- Missing start times
- Overlapping sessions
- Papers exceeding session duration
- Inconsistent durations
Example error output (Rust compiler style):
error[duration-overlap]: duration exceeds start of next item
--> Fri Dec 8 • item 8 • closing
| start: 17:50
| note: Ends at 18:00 but next item starts at 17:50.
error[duration-overlap]
The tmp/analysis/similarity.md report compares OPODIS 2022, 2023, and 2025 instances and confirms:
- ✅ All three schedules fit the current configuration model
- ✅ Core information architecture is stable
- ✅ Configuration-driven approach is sound
- ✅ Recommended improvements are additive (no breaking changes)
| Aspect | Consistency | Volatility |
|---|---|---|
| Section structure | Very stable | None |
| Schedule format | Consistent | Times/papers change |
| Speaker information | Evolves | Name→Bio→Photo |
| Registration info | Standard | Prices/deadlines change |
| File | Purpose | Audience |
|---|---|---|
| QUICKSTART.md | 15-minute setup | New instance admins |
| CONFIG.md | Detailed configuration | Planning/implementation |
| BUILD.md | Build and deployment | DevOps/technical staff |
| tmp/analysis/similarity.md | Comparative analysis | Decision makers, developers |
- Ruby 3.0 or higher
- Bundler for dependency management
- Jekyll 4.0+ (installed via Bundler)
See BUILD.md for detailed setup instructions.
bundle exec jekyll serve --source docs --destination docs/_site --livereloadThen visit http://localhost:4000.
- Edit YAML files in
docs/_data/ - For schedule changes, run:
bundle exec ruby scripts/validate_and_generate.rb - Site rebuilds automatically (with live reload)
This template balances flexibility and consistency:
- Flexible configuration: YAML files allow easy customization without code changes
- Consistent structure: Reusable Liquid includes and templates
- Progressive validation: Generator catches errors early
- Graceful degradation: Site renders with TBD/partial information
The template is designed for conference organizers, not developers.
[Specify license if applicable]
- Setup questions? → See QUICKSTART.md
- Configuration help? → See CONFIG.md
- Build issues? → See BUILD.md
- Design analysis? → See tmp/analysis/similarity.md
Refactored from the OPODIS 2023 website (opodis23.example.com) into a reusable, modular template validated against 2022, 2023, and 2025 instances.