Skip to content

All the documentations made by Gharbiya FabLab team and engineers over years

License

Notifications You must be signed in to change notification settings

stemgharbiya/fablab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gharbiya FabLab

Built with Starlight

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.

Features

  • 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 team page with data stored in src/data/team.json and helper functions in src/lib/team.ts
  • UI & Styling: Added UI and styling dependencies to improve the site layout and member cards

Project Structure

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.

Commands

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

Deployment

This site is automatically deployed to GitHub Pages using GitHub Actions. The deployment workflow:

  • Triggers on pushes to the main branch
  • Builds the site using Astro
  • Deploys to GitHub Pages
  • Validates all internal links

Contributing

We welcome contributions from our community! If you'd like to contribute:

  1. Fork the repository
  2. Create your feature branch using a descriptive prefix:
    git checkout -b <type>/short-description
    Common branch types:
    • 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
  3. Commit your changes with a clear message:
    git commit -m '<type>: brief description of changes'
  4. Push to the branch:
    git push origin <your-branch-name>
  5. Open a Pull Request on GitHub with a detailed description of your changes.

License

This project is licensed under the MIT License. See the LICENSE file for details. Copyright (c) 2025 STEM Gharbiya.

Contact

Acknowledgments

About

All the documentations made by Gharbiya FabLab team and engineers over years

Resources

License

Code of conduct

Stars

Watchers

Forks