Repository Guidelines
Repository Guidelines
Project Structure & Module Organization
This repository is a GitHub Pages/Jekyll academic profile site. Site settings live in _config.yml, with development overrides in _config.dev.yml. Main pages are in _pages/; legacy publication detail pages remain in _publications/ for stable URLs. The current publications archive renders from _data/publications.yml, synchronized from DBLP public metadata. Layout and theme code live in _layouts/, _includes/, and _sass/. Static assets are in assets/, images/, and files/; uploaded PDFs belong in files/. The markdown_generator/ notebooks and scripts are template utilities and are not the current publication source of truth.
Build, Test, and Development Commands
bundle install: install Ruby dependencies, includinggithub-pages ~> 232,webrick,jekyll-feed, andjekyll-sitemap.bundle exec jekyll serve --livereload: run the site locally atlocalhost:4000with automatic rebuild and browser refresh.bundle exec jekyll build: generate_site/and catch Liquid, YAML, permalink, and asset errors.npm install: install Node tooling; use Node>=18.npm run build:js: rebuildassets/js/main.min.jsfrom theme JavaScript sources.npm run watch:js: watch JavaScript sources and rebuild the minified bundle.
Coding Style & Naming Conventions
Use two-space indentation for YAML, HTML, SCSS, and Liquid templates. Keep Markdown front matter complete and consistent with nearby pages. Prefer dated filenames for posts, talks, and legacy publication pages, for example _posts/2026-07-01-title.md. Maintain publication records in _data/publications.yml with stable slug, title, year, venue, authors, and citation fields. Edit source SCSS under _sass/ and JavaScript sources under assets/js/; only update assets/js/main.min.js via npm run build:js.
Testing Guidelines
There is no dedicated automated test suite. Validate content changes with bundle exec jekyll build; for navigation, profile, or styling changes also run bundle exec jekyll serve --livereload and inspect /, /cv/, and /publications/. Before committing publication data, confirm YAML parses and publication slugs are unique.
Commit & Pull Request Guidelines
Recent history uses short subjects such as Update CV, Add Talk, and fix spelling. Keep commits focused and use imperative or concise descriptive subjects. Pull requests should summarize affected pages/data, include validation results, link issues when relevant, and include screenshots for visible layout changes.
