Personal research site for K. Dana Chadwick, hosted with GitHub Pages at https://kdchadwick.github.io.
| File | Purpose |
|---|---|
index.html |
Home: bio, research threads, current roles, news |
research.html |
Missions, campaigns, and landscape biogeochemistry research |
community.html |
Open science, mentorship, and open positions |
publications.html |
Generated. Papers, datasets, software, reports |
tools/ |
The publications generator and its config |
assets/css/site.css |
The entire stylesheet. No build step, no JavaScript. |
images/ |
Photographs and figures |
papers/ |
CV and PDFs of selected papers |
Static HTML and one hand-written stylesheet — no framework, no jQuery, no build
pipeline. Edit the HTML directly and push to master; GitHub Pages serves it.
-
CV: drop the new PDF in
papers/and update the fourpapers/KDChadwick_CV_*.pdflinks (nav and footer on each page, plus two in the home page hero and roles section). -
News: add an
<article class="news-item">block at the top of the news list inindex.html. -
Open positions: edit the two cards under
#opportunitiesincommunity.html, and the matching news item and hero line inindex.html. Remove all three when the postings close. -
Publications: do not edit
publications.htmlby hand. It is generated from the ORCID record:python3 tools/build_publications.pyORCID is the source of truth. When a new paper or dataset appears, add it to ORCID (Works > Add > Search & link, or by DOI), re-run the script, and commit the result. The script pulls full author lists and titles from Crossref and DataCite, so nothing is typed twice.
tools/publications_config.jsonholds the local rules:Key Purpose extra_doisWorks not yet in ORCID. Add the DOI to ORCID, then delete it here; the script says which entries have become redundant. exclude_doisPreprints superseded by a published version, and duplicate registrations. menteesSurnames that get an asterisk. pdfsLocal PDF copies in papers/, keyed by DOI.manualEntries with no DOI (books, agency reports). Useful flags:
--dry-runreports what would change without writing,--offlinerebuilds from the cached API responses,--refreshdiscards the cache and refetches. Responses are cached intools/.cache/, which is not committed.
The site is light/dark aware via prefers-color-scheme; colors live as custom
properties at the top of site.css.