Repository Guidelines
Repository Guidelines
Project Structure & Module Organization
This repository is an Academic Pages/Jekyll site. Site configuration lives in _config.yml, reusable layouts in _layouts/, includes in _includes/, and Sass partials in _sass/. Content collections use Jekyll folders: _pages/, _posts/, _publications/, _talks/, _teaching/, and _portfolio/. Static assets are under assets/, images/, and files/. Data files are in _data/; scripts for CV and publication generation are in scripts/ and markdown_generator/. Generated site output should not be committed unless explicitly required.
Build, Test, and Development Commands
bundle install: install Ruby/Jekyll dependencies fromGemfile.bundle exec jekyll serve -l -H localhost: run the site locally athttp://localhost:4000with live reload.bundle exec jekyll build: build the static site and catch Jekyll rendering errors.npm install: install JavaScript build dependencies.npm run build:js: minify JavaScript intoassets/js/main.min.js.docker compose up: serve the site in Docker when local Ruby setup is inconvenient.
Coding Style & Naming Conventions
Use Markdown with YAML front matter for content pages and posts. Name posts with Jekyll’s date prefix, for example _posts/2026-07-08-title.md. Keep YAML indentation to two spaces and prefer quoted strings when values contain punctuation. Sass changes should go in _sass/ partials or assets/css/main.scss; avoid editing minified assets by hand. JavaScript source changes belong in assets/js/_main.js, assets/js/theme.js, or plugin files, then run npm run build:js.
Testing Guidelines
There is no dedicated test suite in this repository. Validate changes by running bundle exec jekyll build before committing. For layout, navigation, or styling changes, also run the local server and inspect affected pages in a browser. For generated publication, talk, or CV content, verify both the source data and rendered pages.
Commit & Pull Request Guidelines
Current history contains only an initial commit, so use simple imperative commit subjects such as Update publication list or Fix navigation labels. Keep commits focused by content area or feature. Pull requests should describe the change, list validation commands run, link related issues when applicable, and include screenshots for visible page, layout, or theme changes.
Security & Configuration Tips
Do not commit private credentials, analytics secrets, or unpublished personal files. Review _config.yml, _data/authors.yml, and uploaded files in files/ for public-facing personal information before publishing.
