Skip to content

beelzer/dcln

Repository files navigation

dcln.me

CI Astro Cloudflare Workers TypeScript License: MIT

Personal portfolio site built with Astro 6 and deployed on Cloudflare Workers.

Stack

  • Framework: Astro 6 (hybrid rendering)
  • Styling: Vanilla CSS with modern features (nesting, @layer, color-mix(), scroll-driven animations)
  • Hosting: Cloudflare Workers
  • Auth: Cloudflare Access (Google OAuth) for private content

Development

npm install
npm run dev

Commands

Command Description
npm run dev Start dev server
npm run build Production build
npm run check TypeScript type checking
npm run lint ESLint + Prettier check
npm run lint:fix Auto-fix lint issues
npm run test:unit Run Vitest unit tests
npm run test:watch Run Vitest in watch mode
npm run test:e2e Run Playwright E2E tests

Project Structure

src/
  components/    UI components (Astro)
  content/       Markdown content collections
  layouts/       Base page layout
  lib/           Constants, auth, GitHub API, syntax highlighting
  middleware.ts  Auth guard for /private/* routes
  pages/         Routes (public + private SSR)
  styles/        Global CSS and design tokens
public/          Static assets, security headers

Contributing

See CONTRIBUTING.md for commit conventions and workflow.

Deployment

Pushes to main trigger automatic builds on Cloudflare Workers. CI runs lint, type check, unit tests, build, and E2E tests via GitHub Actions.

About

Portfolio site — dcln.me

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors