This is the source code for zmoki.xyz - a personal digital garden built with Astro.
This site serves as a digital garden where I share thoughts, resources, and experiences. It's built with modern web technologies and focuses on clean, accessible design.
- Astro - Static site generator
- TypeScript - Type safety
- Tailwind CSS - Styling
- MDX - Rich content authoring
- Remark/Rehype - Content processing
- Node.js 18+
- npm (comes with Node.js)
npm install# Start the development server
npm run dev
# The site will be available at http://localhost:4321# Build the site for production
npm run build
# Preview the built site
npm run previewnpm run dev- Start development servernpm run build- Build the site for productionnpm run preview- Preview the built sitenpm run clean- Clean node_modules and dist foldersnpm run lhci:mobile- Run Lighthouse CI audits on mobilenpm run lhci:desktop- Run Lighthouse CI audits on desktopnpm run lhci:collect- Collect Lighthouse datanpm run lhci:assert- Run assertions against performance budgets
src/
├── components/ # Reusable Astro components
├── content/ # MDX/Markdown content
│ ├── feed/ # Blog posts and articles
│ ├── legal/ # Legal pages
│ └── resources/ # Resource pages
├── images/ # Static images
├── layouts/ # Page layouts
└── pages/ # Astro pages and routes
Content is written in MDX and Markdown files in the src/content/ directory. The site automatically generates pages and routes based on the content structure.
- Create a new
.mdxor.mdfile in the appropriate content directory - Add frontmatter with title, description, and other metadata
- The site will automatically generate the page
Time- Formats and displays datesRawVideo- Video player with autoplay and responsive designVideo- Enhanced video componentPostCard- Card component for displaying postsThemeToggle- Dark/light theme toggleBrevoForm- Newsletter signup form
This site uses Lighthouse CI to monitor performance, accessibility, best practices, and SEO scores.
Run performance audits locally:
# Test mobile performance
npm run lhci:mobile
# Test desktop performance
npm run lhci:desktopReports are generated in the .lighthouseci/ directory with detailed HTML reports.
Lighthouse CI runs automatically on:
- Every push to the main branch
- Every pull request
Results are uploaded as GitHub Actions artifacts and include:
- Performance scores (target: ≥90)
- Accessibility scores (target: ≥90)
- Best practices scores (target: ≥90)
- SEO scores (target: ≥90)
View detailed reports in the GitHub Actions tab of any workflow run.