' + data[i].NAME + '
' + + '' + data[i].NAME + '
' + '
' +
+ '
' +
'' + data[i].TEXT + '
' + - 'diff --git a/.github/workflows/validate-site.yml b/.github/workflows/validate-site.yml new file mode 100644 index 0000000..1659c62 --- /dev/null +++ b/.github/workflows/validate-site.yml @@ -0,0 +1,20 @@ +name: Validate site data + +on: + pull_request: + push: + branches: [master] + +permissions: + contents: read + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + - name: Validate CSV and asset contracts + run: python scripts/validate_site.py \ No newline at end of file diff --git a/MAINTAINER_CHECKLIST.md b/MAINTAINER_CHECKLIST.md new file mode 100644 index 0000000..cadc66b --- /dev/null +++ b/MAINTAINER_CHECKLIST.md @@ -0,0 +1,29 @@ +# VICE Lab Website Maintainer Checklist + +## Photos requiring human follow-up + +Before adding a portrait, confirm the subject approves its use and that VICE Lab has permission to publish it. Use a square or portrait-oriented JPEG, crop consistently with existing headshots, optimize it for the web, and use the exact filename shown. + +- [ ] Obtain an approved portrait for Erin Hestir and save it as `images/people/erin-hestir.jpg`. +- [ ] Obtain an approved portrait for Aditya Sood and save it as `images/people/aditya-sood.jpg` (used by the Sierra HP and CERC-WET projects). +- [ ] Obtain an approved portrait for Megan Mayzelle and save it as `images/people/megan-mayzelle.jpg`. +- [ ] Confirm that `images/people/josue-medellin-azuara.jpg` is the intended current portrait for the Water Systems Management collaborator card. +- [ ] Review collaborator names and affiliations against their official lab pages at least annually. + +Until these photographs are supplied, the site displays `images/people/no-picture.jpg` instead of a broken image. + +## Content decisions + +- [ ] Decide whether the 2021 Community Survey page should be updated, archived, or removed; it still promises a June 2021 report. +- [ ] Update the footer's “Updated October 2020” wording or replace it with an automatically maintained copyright year. +- [ ] Review and update remaining plain-HTTP external links. +- [ ] Confirm whether the archived PPIC site snapshot should remain publicly deployed under `archived-sites/`. +- [ ] Review people referenced by projects, news, and publications but absent from `people.csv`; either add profiles or intentionally render their names without profile links. + +## Technical follow-up + +- [ ] Upgrade the bundled jQuery 3.3.1 to a supported release and regression-test CSV rendering, menus, filters, and modals. +- [ ] Compress `images/news/casa-ele-2022-launched.jpg` (currently about 21.7 MB) and other multi-megabyte images; target less than 500 KB where practical. +- [ ] Confirm whether the unused `images/news/IMG_0383.png` can be removed. +- [ ] Add a periodic external-link checker after redirects and intentionally archived links are documented. +- [ ] Run `python scripts/validate_site.py` before every content pull request and resolve all errors; review warnings explicitly. \ No newline at end of file diff --git a/collaborators/index.html b/collaborators/index.html index 4bcecea..7c075d1 100644 --- a/collaborators/index.html +++ b/collaborators/index.html @@ -121,7 +121,8 @@
Unable to load collaborators right now. Please try again later.
"); }); /*Footer: Controlled by HTML snippet in snippets/footer.html*/ $("#footer").load("../snippets/footer.html"); diff --git a/images/news/USDA-SWF-on-NPR.jpg b/images/news/usda-swf-on-npr.jpg similarity index 100% rename from images/news/USDA-SWF-on-NPR.jpg rename to images/news/usda-swf-on-npr.jpg diff --git a/images/projects/cosumnes.jpg b/images/projects/Cosumnes.jpg similarity index 100% rename from images/projects/cosumnes.jpg rename to images/projects/Cosumnes.jpg diff --git a/index.html b/index.html index 01e9dd8..7c886b3 100644 --- a/index.html +++ b/index.html @@ -164,7 +164,7 @@
' +
+ '
' +
'' + data[i].TEXT + '
' + - 'Unable to load news right now. Please try again later.
"); }); $.get("/projects.csv").then(function (text, status, xhr) { var data = $.csv.toObjects(text); @@ -200,11 +202,13 @@
![' + data[i].NAME + '](images/projects/' + data[i].ID + '.jpg)
Unable to load projects right now. Please try again later.
"); }); }); diff --git a/news/index.html b/news/index.html index cf2f100..5644276 100644 --- a/news/index.html +++ b/news/index.html @@ -121,20 +121,22 @@
' +
+ '
' +
'' + data[i].TEXT + '
' + - 'Unable to load news right now. Please try again later.
"); }); /*Footer: Controlled by HTML snippet in snippets/footer.html*/ $("#footer").load("../snippets/footer.html"); diff --git a/people/index.html b/people/index.html index 009c2a7..c2a0e7c 100644 --- a/people/index.html +++ b/people/index.html @@ -120,7 +120,7 @@