This is the official website for the Munich Bioinformatics Student Council built with Astro and Starlight. The website provides information for current students and prospective students in both German and English.
- Framework: Astro with Starlight theme
- Blog: Starlight Blog plugin
- Languages: Supports both German and English content
- Deployment: Automatically deployed from the main branch on GitHub
- Node.js and NPM (installation guide: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
Inside of your Astro + Starlight project, you'll see the following folders and files:
.
├── public/
├── src/
│ ├── assets/
│ ├── content/
│ │ ├── docs/
│ └── content.config.ts
├── astro.config.mjs
├── package.json
└── tsconfig.json
Starlight looks for .md or .mdx files in the src/content/docs/ directory. Each file is exposed as a route based on its file name.
- All wiki pages should be organized in
src/content/docs/ - Both German and English versions should be created for each page
- Use identical filenames for corresponding pages in different languages (e.g.,
welcome.mdin bothen/andde/) - When creating a new page, make sure to add it to the sidebar in
astro.config.mjs
- Images should be organized in
src/assets/ - Images can be embedded in Markdown with relative links
- Static assets (favicons, etc.) go in the
public/directory
- Blog posts should be organized in
src/content/docs/[lang]/blog/ - Both German and English versions should be created for each blog post
- Use identical filenames for corresponding posts in different languages (e.g.,
welcome-post.mdin bothen/blog/andde/blog/) - Each blog post requires frontmatter with:
title,date,excerpt,authors, andtags - Authors must be configured in the
starlightBlog()plugin configuration inastro.config.mjs
- Sidebar entries, menu entries, theme settings are managed in
astro.config.mjs - Blog authors are configured in the
starlightBlog()plugin options inastro.config.mjs - Content structure and schema are defined in
src/content.config.ts
All commands are run from the root of the project, from a terminal:
| Command | Action |
|---|---|
npm install |
Installs dependencies |
npm run dev |
Starts local dev server at localhost:4321 |
npm run build |
Build your production site to ./dist/ |
npm run preview |
Preview your build locally, before deploying |
npm run astro ... |
Run CLI commands like astro add, astro check |
npm run astro -- --help |
Get help using the Astro CLI |
Check out Starlight’s docs, read the Astro documentation, or jump into the Astro Discord server.