Welcome to the Gharbiya FabLab repository! This website serves as a comprehensive resource for our digital fabrication laboratory, providing information about our equipment, software tools, learning resources, and community projects.
- Digital Fabrication Equipment: Detailed guides for our laser cutter, 3D printer, vinyl cutter, and CNC router
- Software Resources: Instructions for CAD/CAM tools and machine-specific software
- Learning Materials: Educational challenges and tutorials for various technologies
- Inventory Management: Comprehensive listings of components, materials, and tools
- Community Projects: Showcases of student work and team achievements
- Blog: Latest updates, tutorials, and community stories
- Team Profiles & Page: Member profiles, contact info, and a dedicated
teampage with data stored insrc/data/team.jsonand helper functions insrc/lib/team.ts - UI & Styling: Added UI and styling dependencies to improve the site layout and member cards
Inside of your Astro + Starlight project, you'll see the following folders and files:
.
├── .github/workflows/
│ └── deploy.yml # GitHub Actions workflow for deployment
├── public/
├── src/
│ ├── assets/
│ ├── content/
│ │ ├── blog/ # Blog posts
│ │ └── docs/ # Documentation pages
│ ├── pages/
│ │ └── team.astro # Team page with member profiles
│ └── content.config.ts
├── astro.config.ts # Project config (refactored to TypeScript; uses shared constants)
├── 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.
Images can be added to src/assets/ and embedded in Markdown with a relative link.
Static assets, like favicons, can be placed in the public/ directory.
All commands are run from the root of the project, from a terminal:
| Command | Action |
|---|---|
pnpm install |
Installs dependencies |
pnpm dev |
Starts local dev server at localhost:4321 |
pnpm build |
Build your production site to ./dist/ |
pnpm preview |
Preview your build locally, before deploying |
pnpm astro ... |
Run CLI commands like astro add, astro check |
pnpm astro -- --help |
Get help using the Astro CLI |
This site is automatically deployed to GitHub Pages using GitHub Actions. The deployment workflow:
- Triggers on pushes to the
mainbranch - Builds the site using Astro
- Deploys to GitHub Pages
- Validates all internal links
We welcome contributions from our community! If you'd like to contribute:
- Fork the repository
- Create your feature branch using a descriptive prefix:
Common branch types:
git checkout -b <type>/short-description
docs/- for changes to documentation (e.g.,docs/add-laser-guide)feat/- for new features or sections (e.g.,feat/add-project-gallery)fix/- for bug fixes (e.g.,fix/broken-image-link)deploy/- for changes to deployment or infrastructure
- Commit your changes with a clear message:
git commit -m '<type>: brief description of changes' - Push to the branch:
git push origin <your-branch-name>
- Open a Pull Request on GitHub with a detailed description of your changes.
This project is licensed under the MIT License. See the LICENSE file for details. Copyright (c) 2025 STEM Gharbiya.
- FabLab Website: https://stemgharbiya.github.io/fablab/
- GitHub Repository: https://github.com/stemgharbiya/fablab
- Built with Astro and Starlight
- Hosted on GitHub Pages
- Enhanced with Starlight Blog and Starlight Theme Nova