|
| 1 | +# Copilot Instructions for mathis-group.github.io |
| 2 | + |
| 3 | +## Project Overview |
| 4 | +This is a static website for the Mathis Group at ASU, built using Jekyll and the [Lab Website Template](https://greene-lab.gitbook.io/lab-website-template-docs). The site is primarily managed with Markdown, YAML, HTML (Liquid), and SCSS files. |
| 5 | + |
| 6 | +## Key Structure |
| 7 | +- **Content:** |
| 8 | + - `index.md`, `_members/`, `_posts/`, `blog/`, `projects/`, `research/`, `team/` — Main site content in Markdown. |
| 9 | + - `_data/` — YAML files for structured data (citations, members, projects, etc.). |
| 10 | + - `_includes/`, `_layouts/` — HTML/Liquid templates for site rendering. |
| 11 | + - `_styles/` — SCSS for custom site styling. |
| 12 | +- **Custom Code:** |
| 13 | + - `_plugins/` — Custom Ruby plugins for Jekyll (e.g., `array.rb`, `file.rb`). |
| 14 | + - `_cite/` — Python scripts for citation management (`cite.py`, `util.py`). |
| 15 | + |
| 16 | +## Developer Workflows |
| 17 | +- **Local Build:** |
| 18 | + - Use `./.docker/run.sh` to build locally (requires Docker). Adjust line endings if you encounter issues. |
| 19 | +- **Content Editing:** |
| 20 | + - Add or update Markdown files in `_members/`, `_posts/`, etc. for new content. |
| 21 | + - Update YAML files in `_data/` for structured data changes. |
| 22 | +- **Custom Plugins:** |
| 23 | + - Ruby plugins in `_plugins/` extend Jekyll functionality. Review these for custom site logic. |
| 24 | +- **Citation Management:** |
| 25 | + - Python scripts in `_cite/` manage citations. Dependencies are listed in `_cite/requirements.txt`. |
| 26 | + |
| 27 | +## Conventions & Patterns |
| 28 | +- **YAML Front Matter:** All content Markdown files use YAML front matter for metadata. |
| 29 | +- **Data-Driven Content:** Many site sections (members, projects, citations) are generated from YAML in `_data/`. |
| 30 | +- **SCSS Organization:** Custom styles are modularized in `_styles/` and imported via `all.scss`. |
| 31 | +- **No JavaScript Build Step:** JS in `_scripts/` is used as-is; there is no bundler or transpiler. |
| 32 | + |
| 33 | +## Integration Points |
| 34 | +- **Jekyll:** Site is built and served by Jekyll (via Docker for local dev). |
| 35 | +- **Lab Website Template:** Provides base layouts and structure; customizations are layered on top. |
| 36 | +- **Python Citation Tools:** Used for managing and updating citation data. |
| 37 | + |
| 38 | +## Examples |
| 39 | +- To add a new member: create a Markdown file in `_members/` with appropriate front matter. |
| 40 | +- To update citations: edit `_data/citations.yaml` and/or use `_cite/cite.py`. |
| 41 | +- To add a new custom layout: create an HTML file in `_layouts/` and reference it in content front matter. |
| 42 | + |
| 43 | +## References |
| 44 | +- See `README.md` for build instructions. |
| 45 | +- Review `_plugins/` and `_cite/` for custom logic. |
| 46 | +- Consult the [Lab Website Template docs](https://greene-lab.gitbook.io/lab-website-template-docs) for base system details. |
0 commit comments