Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

654 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bumbleflies Homepage

Modern static site built with:

Note: The legacy Jekyll site is archived at archive.bumbleflies.de.

Quick Start

Install dependencies

cd beta
npm install

Development server

npm run dev

Runs at http://localhost:3000 with hot module reloading.

Build for production

npm run build

Outputs static site to beta/dist/.

Preview production build locally

npm run preview

Project Structure

beta/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/          # Reusable Astro & React components
β”‚   β”‚   β”œβ”€β”€ Layout.astro    # Main page layout wrapper
β”‚   β”‚   β”œβ”€β”€ Nav.astro       # Navigation bar
β”‚   β”‚   β”œβ”€β”€ Footer.astro    # Footer
β”‚   β”‚   β”œβ”€β”€ Hero.astro      # Hero sections
β”‚   β”‚   β”œβ”€β”€ ServicePillar.astro
β”‚   β”‚   β”œβ”€β”€ TeamCard.astro
β”‚   β”‚   β”œβ”€β”€ CaseStudyCard.astro
β”‚   β”‚   └── ...             # Other feature components
β”‚   β”œβ”€β”€ pages/              # Route-based pages
β”‚   β”‚   β”œβ”€β”€ index.astro     # Homepage
β”‚   β”‚   β”œβ”€β”€ [slug].astro    # Dynamic routes
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ content/            # Content collections (structured data)
β”‚   β”‚   β”œβ”€β”€ case-studies/   # Case study content & metadata
β”‚   β”‚   └── config.ts       # Content collection schemas
β”‚   β”œβ”€β”€ styles/             # Global CSS and component styles
β”‚   └── layouts/            # Reusable page layouts
β”œβ”€β”€ public/                 # Static assets (images, fonts, etc.)
β”œβ”€β”€ astro.config.mjs        # Astro configuration
β”œβ”€β”€ tsconfig.json           # TypeScript configuration
└── package.json            # Dependencies & scripts

Development Workflow

Creating a New Page

  1. Create a file in src/pages/ (e.g., src/pages/about.astro)
  2. Use the Layout component to wrap content:
    ---
    import Layout from '../components/Layout.astro';
    ---
    
    <Layout title="About Us">
      <h1>About Bumbleflies</h1>
      <!-- Page content -->
    </Layout>

Creating Components

Components go in src/components/. They can be:

  • Astro components (.astro) β€” Server-side rendered, zero JavaScript by default
  • React components (.tsx) β€” Interactive client-side components
// src/components/MyComponent.astro
---
interface Props {
  title: string;
}

const { title } = Astro.props;
---

<div class="component">
  <h2>{title}</h2>
  <slot />
</div>

<style>
  .component {
    padding: 1rem;
  }
</style>

Content Collections

Case studies and other content are managed as Astro Content Collections for type-safe structured data.

Case Studies:

  • Location: src/content/case-studies/
  • Schema defined in: src/content/config.ts
  • Access in components via getCollection():
---
import { getCollection } from 'astro:content';

const caseStudies = await getCollection('case-studies');
---

{caseStudies.map(study => (
  <CaseStudyCard study={study} />
))}

Testing

Run tests with:

npm run test

Tests use Vitest with React Testing Library for component testing.

Styling

  • Global styles: src/styles/
  • Component-scoped styles: Use <style> blocks in .astro and .tsx files
  • Responsive design: Mobile-first approach with Astro's built-in viewport control

Deployment

The site is deployed to production via GitHub Actions when changes are pushed to main.

See .github/workflows/ for deployment configuration.

Performance

  • Zero JavaScript by default β€” Astro components are server-rendered
  • Partial hydration β€” Only interactive React components ship JavaScript
  • Image optimization β€” Use Astro's <Image> component for automatic optimization
  • Static generation β€” All pages pre-rendered for instant load times

Useful Commands

Command Purpose
npm run dev Start dev server
npm run build Build for production
npm run preview Preview production build
npm run test Run tests

Learn More

About

Bumbleflies' awesome website | πŸ¦‹

Topics

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages