brew install rbenv
rbenv init - zsh >> ~/.zshrc
source ~/.zshrc
rbenv install 3.3.4
rbenv local 3.3.4
gem install bundler
bundle installrbenv install 3.3.4
rbenv local 3.3.4
bundle installIf you change docs/_data/program.yml, regenerate the outline grid:
bundle exec ruby scripts/validate_and_generate.rbRe-run the generator after any change in docs/_data/program.yml (times, types, durations, labels, etc.) before building or deploying. End times resolve in order: time range → explicit duration → computed (papers/keynotes) → next item's start, and the generator validates overlaps/gaps. Diagnostics include paper references (404/duplicates), keynote/speaker placeholders, and time format issues. Session chairs are treated as free-form text.
- Commit:
Gemfile,Gemfile.lock,.ruby-version(pins runtime and dependencies for deterministic builds) - Do NOT commit:
docs/_site/,.bundle/,vendor/,.jekyll-cache/,.sass-cache/(already ignored) - Generated but committed:
docs/_data/outline_grid.json(the site reads this JSON; GitHub Pages will not run the Ruby generator)
# build the site to docs/_site
bundle exec jekyll build --source docs --destination docs/_site
# serve the site locally for preview
bundle exec jekyll serve --source docs --destination docs/_site --livereload --host 0.0.0.0 --port 4000
# then browse http://localhost:4000- Configure GitHub Pages to serve from branch
main, path/docs. - If program data changed, regenerate and build:
bundle exec ruby scripts/generate_outline_grid.rb
bundle exec jekyll build --source docs --destination docs/_site- Commit source changes plus updated
docs/_data/outline_grid.json(anddocs/_siteif you publish the built site). - Push to
main; GitHub Pages serves fromdocs/.
bundle exec ruby scripts/generate_outline_grid.rb
bundle exec jekyll build --source docs --destination docs/_site
rsync -av docs/_site/ user@server:/path/to/webroot/