Website for BMDIB, built with Astro, TypeScript, and Bootstrap.
- Framework: Astro
- Language: TypeScript
- Styling: Bootstrap + custom CSS
- Content: Markdown
- Source Control: GitHub
- Node.js 24
- npm
- nvm for managing the Node.js version
git clone <repository-url>
cd websiteThis project uses Node.js 24. If you have nvm installed:
nvm useIf Node.js 24 is not installed yet:
nvm install
nvm usenpm installnpm run devThe site will be available at:
http://localhost:4321
| Command | Description |
|---|---|
npm run dev |
Start the local development server |
npm run build |
Build the production site |
npm run preview |
Preview the production build locally |
npm run astro -- --help |
Display available Astro CLI commands |
/
├── public/ # Static assets
├── src/
│ ├── components/ # Reusable Astro components
│ │ ├── Footer.astro
│ │ └── Header.astro
│ ├── layouts/ # Shared page layouts
│ │ └── BaseLayout.astro
│ ├── pages/ # Page routes
│ │ └── index.astro
│ └── styles/ # Global and custom styles
│ └── global.css
├── .gitignore
├── .nvmrc # Node.js version used by the project
├── astro.config.mjs # Astro configuration
├── package.json # Project metadata and dependencies
├── package-lock.json # Locked dependency versions
├── tsconfig.json # TypeScript configuration
└── README.md # Project documentation
Create a feature branch before making changes:
git switch main
git pull origin main
git switch -c feature/<issue-number>-<description>Make and test your changes locally before opening a pull request.
The production build can be verified locally with:
npm run build
npm run previewThis project uses GitHub Actions for continuous integration (CI).
For pull requests targeting main, the CI workflow:
- Checks out the repository
- Sets up the Node.js version specified in
.nvmrc - Installs dependencies with
npm ci - Builds the production site with
npm run build
A pull request must pass CI before it is considered ready to merge.
The workflow configuration is located at .github/workflows/ci.yml.
See LICENSE.txt for license information.