My personal research website and blog, based on Astro.
- Node.js 20 or newer
- npm
Install dependencies once:
npm installStart the local preview:
npm run devCreate a draft post:
npm run new:post -- "Post title"Create a German draft post:
npm run new:post -- "Beitragstitel" --lang deThe new file is created under src/content/blog/en/ or src/content/blog/de/ with draft: true. Change draft to false when the post is ready to publish.
- Personal details in
src/data/profile.ts. - Blog posts in
src/content/blog/en/andsrc/content/blog/de/. - Research items in
src/content/research/en/andsrc/content/research/de/. - Projects in
src/content/projects/en/andsrc/content/projects/de/. - Each translated pair should share the same
translationKey; each language can use its ownslug.
The site is deployed by GitHub Actions. The workflow validates the content, builds the static site, and publishes the generated dist/ output to GitHub Pages.