sudo apt install nodejs npm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install –lts
cd ~/WebP/coenwerem.github.io npm install
./build.sh # generates cv.html, resume.html, and both PDFs
./build.sh –html
sync-publications.js — walks the research.html DOM in document order with a simple state machine (tracks current category/year as it descends), extracts every .pub-main-row, converts the HTML to Markdown (bold author, decoded entities) and rewrites the ### Selected Publications block in CV.md. Uses node-html-parser (Node 18-compatible, no undici).
install-hooks.sh; must be run once to wire up the git pre-commit hook:
bash install-hooks.sh
Workflow:
git add research.htmlgit commit — the hook fires automatically, runs the sync, and git adds the updated CV.md into the same commit.To trigger the sync manually:
node data/scripts/sync-publications.js # npm run sync also works
./build.sh # always syncs first now