|
2 | 2 |
|
3 | 3 | This repository is a template for ESIIL Working Groups. |
4 | 4 |
|
5 | | -The website is built from the docs/ folder using MkDocs. |
| 5 | +This template is designed as one connected system: |
| 6 | + |
| 7 | +- The repository is where the science happens. |
| 8 | +- The website is where the science is shared. |
| 9 | +- GitHub connects them through commits, version history, and publishing. |
| 10 | + |
| 11 | +## How this repository is organized |
| 12 | + |
| 13 | +The repository has two connected layers. Top-level files configure the project and its automation. The `docs/` folder contains the website content. `mkdocs.yml` tells MkDocs how to turn that content into the public site. Analysis folders hold the working scientific materials that generate the results shown on the website. |
| 14 | + |
| 15 | +```text |
| 16 | +. |
| 17 | +├── README.md # Repository overview and setup notes |
| 18 | +├── mkdocs.yml # Website navigation, theme, plugins, and edit links |
| 19 | +├── docs/ # Markdown source for the public website |
| 20 | +├── scripts/ # Build helpers and site health checks |
| 21 | +├── templates/ # Reusable meeting-note templates |
| 22 | +├── containers/ # Optional runtime and environment setup |
| 23 | +└── other working folders # Add data, notebooks, scripts, workflows, outputs, or figures here as the group's science grows |
| 24 | +``` |
| 25 | + |
| 26 | +Use these rules of thumb when deciding where to put something: |
| 27 | + |
| 28 | +- Top-level files and folders are for project configuration, automation, contribution guidance, licensing, environment setup, and repo-wide metadata. |
| 29 | +- `docs/` is for public website pages and assets. Markdown files here become website pages through MkDocs. |
| 30 | +- `mkdocs.yml` controls how the website is rendered, including navigation, theme settings, plugins, and GitHub edit links. |
| 31 | +- Scientific working materials belong in working folders such as data, notebooks, scripts, workflows, outputs, and figure directories. |
| 32 | + |
| 33 | +## Common places to edit |
| 34 | + |
| 35 | +- `docs/index.md` is the homepage for the public site. |
| 36 | +- `docs/work-plan.md` is where the group can track milestones, meetings, and active work. |
| 37 | +- `docs/resources.md` is where datasets, references, and code links can be collected. |
| 38 | +- `docs/community-care.md` is where collaboration expectations and group care guidance live. |
| 39 | +- `docs/assets/images/slots/` contains named image slots for the homepage and other shared visuals. |
6 | 40 |
|
7 | 41 | ## Preview locally |
8 | 42 |
|
9 | | -pip install mkdocs-material |
| 43 | +```bash |
| 44 | +pip install -r requirements.txt |
| 45 | +python scripts/generate_image_slots.py |
| 46 | +python scripts/site_health.py |
10 | 47 | mkdocs serve |
| 48 | +``` |
11 | 49 |
|
12 | 50 | ## Build site |
13 | 51 |
|
| 52 | +```bash |
| 53 | +python scripts/generate_image_slots.py |
| 54 | +python scripts/site_health.py |
14 | 55 | mkdocs build --strict --clean |
| 56 | +``` |
| 57 | + |
| 58 | +## Swapping homepage images |
| 59 | + |
| 60 | +The homepage uses semantic image slots so Working Group members do not need to edit Markdown links every time an image changes. |
| 61 | + |
| 62 | +1. Open the relevant folder in `docs/assets/images/slots/`. |
| 63 | +2. Delete the old image file. |
| 64 | +3. Add one new `.png`, `.jpg`, `.jpeg`, `.webp`, or `.svg` file. |
| 65 | +4. Run `python scripts/generate_image_slots.py`. |
| 66 | +5. Commit the image change and the regenerated slot references. |
| 67 | + |
| 68 | +If a slot folder contains multiple images, the generator prefers the first non-placeholder file alphabetically and the site health report will warn you to clean it up. |
15 | 69 |
|
16 | 70 | ## Site Health |
17 | 71 |
|
|
0 commit comments