Repository Guidelines
Project Structure & Module Organization
This repository is a Jekyll-based academic homepage. Site-wide settings and author metadata live in _config.yml; the homepage content is maintained in _pages/about.md. Reusable page fragments are under _includes/, layouts under _layouts/, and navigation data under _data/. SCSS partials belong in _sass/ and are assembled through assets/css/main.scss. JavaScript and fonts live under assets/, while publication images and favicons live in images/. The optional citation updater is isolated in google_scholar_crawler/, and its scheduled workflow is in .github/workflows/.
Build, Test, and Development Commands
bundle installinstalls the Ruby dependencies pinned byGemfile.lock.bash run_server.shstarts the Jekyll live-reload server; preview athttp://127.0.0.1:4000.bundle exec jekyll buildperforms a production-style build and writes generated output to_site/.cd google_scholar_crawler && pip install -r requirements.txtinstalls crawler dependencies. Runpython3 main.pyonly withGOOGLE_SCHOLAR_IDset; it makes external Scholar requests and writesresults/data.
Coding Style & Naming Conventions
Preserve the existing conventions in each file type: two-space indentation for YAML, four spaces for Python and SCSS blocks, and lowercase kebab-case for new asset filenames. Name Jekyll partials descriptively, for example _includes/author-profile.html. Keep content changes in _pages/about.md and reusable presentation rules in _sass/ rather than adding inline styles. Retain YAML front matter at the top of rendered Markdown and SCSS entry files. No repository-wide formatter or linter is configured, so keep diffs focused and follow nearby style.
Testing Guidelines
There is no automated test suite or coverage requirement. Before submitting changes, run bundle exec jekyll build and treat warnings or Liquid errors as failures. Preview locally and check navigation, external links, publication cards, images, and responsive behavior at desktop and mobile widths. For crawler changes, use a valid Scholar ID and inspect both generated JSON files without committing secrets.
Commit & Pull Request Guidelines
Recent history uses short, lowercase summaries such as update and fix pub error. Follow that concise style, but make the scope explicit, for example update EMNLP publication or fix mobile paper layout. Keep commits narrowly focused. Pull requests should explain the visible or configuration change, list local validation performed, link relevant issues, and include before/after screenshots for layout or styling work. Never commit API tokens, Scholar credentials, _site/, or local dependency caches.