erturklab.github.io — demo, feedback collection in progress.
- Go to github.com/erturklab/erturklab.github.io/issues
- Click New issue
- Give it a short title (e.g. "Team page — missing photo for X")
- Describe what's wrong or what should change
- Click Submit new issue
Local development
docker compose up --build -dnpm install
npm run devmake dev # Start dev container
make stop # Stop container
make restart # Restart container
make logs # Follow app logs
make shell # Shell into web container
make build # Static export build check
make clean # Remove containers + volumes
make sync-deps # Copy node_modules from Docker volume (IDE TypeScript)
make sync-assets # Re-download images from erturk-lab.comDeployment
The site is deployed to GitHub Pages via GitHub Actions on every push to main.
Workflow: .github/workflows/deploy.yml
To enable deployment on a new repo:
- Go to Settings → Pages → Source and select GitHub Actions
- Push to
main— the workflow builds and deploys automatically
Content & assets
| Folder | Contents |
|---|---|
src/content/site.json |
Lab identity, technologies, publications, science art |
src/content/team.json |
Team member profiles |
src/content/project-media.json |
Project media entries |
public/images/showcase/ |
Hero and technology images |
public/images/team/ |
Team member photos |
public/logos/ |
Helmholtz Munich / LMU logos |
| Script | Purpose |
|---|---|
sync-assets.sh |
Download images from legacy erturk-lab.com |
sync-scholar-publications.py |
Import publications from Google Scholar |
sync-team-publication-authors.py |
Link team members to publication authors |
build-team-json.py |
Rebuild src/content/team.json |
audit-team-profiles.py |
Validate team profile data |
Project structure
src/
├── app/ # Next.js App Router pages
├── components/ # UI components (header, galleries, video players)
├── content/ # site.json, team.json, project-media.json
└── lib/ # publications, projects, team utilities
public/
├── images/ # Local images (in git)
└── logos/ # Partner logos (in git)
| Route | Content source |
|---|---|
/ |
site.json hero, technologies, publications |
/research, /research/projects |
site.json technologies |
/research/projects/[slug] |
site.json + project-media.json |
/team, /team/[slug] |
team.json |
/publications |
site.json publications |
/science-art |
site.json scienceArt |
/jobs |
Static contact page |
/news, /contact, /imprint, /privacy |
Static pages |
Obsidian · Daylight · Midnight · Slate · Ember · Paper — persisted in localStorage.