This is a personal, content-focused website built with Astro and Svelte. It is designed to stay simple, fast, and easy to maintain, while still allowing small interactive components where they make sense.
The project is deployed on Cloudflare Pages and fully statically generated.
This site is a personal space for curated content and small projects. The site is intentionally kept lightweight and opinionated in its tooling and structure, favouring long-term maintainability over complexity.
The current focus is:
- fully static rendering
- minimal build and deployment surface
- good performance by default
- clear and readable project structure
- Astro
- Svelte
- Vite (via Astro)
- Cloudflare Pages
There is no backend and no server-side runtime. All pages are generated at build time.
- Node.js 18 or later
- npm (or a compatible package manager)
git clone https://github.com/brnrd/vegetalope.git
cd vegetalope
npm installnpm run devThis starts a local development server with hot reload.
npm run buildThe production output is generated in the dist/ directory.
npm run preview.
├─ public/ Static assets
├─ src/
│ ├─ components Astro and Svelte components
│ ├─ pages Pages and content
├─ astro.config.mjs
├─ package.json
This project is deployed using Cloudflare Pages.
Build configuration:
- Build command:
npm run build - Output directory:
dist
Preview deployments are automatically created for pull requests.
- The site is built in static mode.
- Assets use long-lived cache headers.
- Compression and edge caching are handled by the Cloudflare platform.
No additional runtime or edge functions are required.
This repository is primarily personal, but pull requests and suggestions are welcome.
If you plan to submit changes:
- Fork the repository
- Create a feature branch
- Commit your changes
- Open a pull request
Please keep changes focused and aligned with the project’s lightweight and static-first philosophy.