I started this blog on astro-erudite — a clean, minimal template. Over several months I kept adding things I needed: comments, analytics, schema markup. Eventually I had enough changes that it made more sense to publish it as a separate fork: merox-erudite.
Note
This theme was built with Cursor (AI-powered editor, paid subscription). I’m a System Administrator, not a professional developer.
Warning
Built out of passion with basic programming knowledge. It works for my use case but may contain bugs or suboptimal code. Use at your own discretion — issues and PRs welcome on GitHub.

The reason for a fork rather than contributing back: some features (AdSense) don’t fit the original theme’s minimal philosophy, and the scope of changes is too personal to be a reasonable upstream PR. astro-erudite stays minimal; merox-erudite is batteries-included.
What I Added
Giscus Comments — GitHub Discussions integration with lazy loading, Astro view transition support, and automatic dark/light theme sync. Optional: if not configured, the component doesn’t render. Requires a public GitHub repo with Discussions enabled.
Analytics — Google Analytics and Umami, both optional via environment variables:
PUBLIC_GOOGLE_ANALYTICS_ID=G-XXXXXXXXXXPUBLIC_UMAMI_WEBSITE_ID=your-umami-idSEO Schemas — Reusable FAQ Schema and HowTo Schema components for structured data and voice search.
Enhanced Homepage — Experience timeline, skills showcase with animated badges, and an updated hero section. The timeline is configured in src/pages/index.astro:
const experience: ExperienceItem[] = [ { role: 'Your Role', company: 'Company Name', period: '2020 - Present', current: true, icon: 'lucide:briefcase', key: 'Your achievements and responsibilities' },]Design — Geist variable fonts, improved contrast and dark mode, better focus indicators for keyboard navigation.
Feature Comparison
| Feature | astro-erudite | merox-erudite |
|---|---|---|
| Comments | ❌ | ✅ Giscus (GitHub) |
| Analytics | ❌ | ✅ GA & Umami |
| SEO Schemas | Basic | ✅ FAQ & HowTo |
| Homepage | Standard | ✅ Enhanced with timeline |
| Fonts | System | ✅ Geist variable fonts |
| AdSense | ❌ | ✅ Built-in component |
Getting Started
- Click “Use this template” on the merox-erudite repository
- Clone and install:
Terminal window git clone https://github.com/YOUR_USERNAME/YOUR_REPO_NAME.gitcd YOUR_REPO_NAMEnpm install - Start dev server:
Available at
Terminal window npm run devhttp://localhost:1234 - Update
src/consts.tswith your site info - Configure optional features via environment variables
Warning
For the original theme’s architecture and design documentation, see the astro-erudite repository by @jktrn.
Deployment on Cloudflare Pages
Free tier, global CDN, automatic GitHub deploys, and straightforward environment variable management.
Build settings (auto-detected for Astro, but if needed):
- Build command:
npm run build - Output directory:
dist - Node version: 20.x+
Environment variables — add in Cloudflare Dashboard → Settings → Environment Variables:
PUBLIC_GOOGLE_ANALYTICS_ID=G-XXXXXXXXXXPUBLIC_UMAMI_WEBSITE_ID=your-umami-id
PUBLIC_GISCUS_REPO=username/repoPUBLIC_GISCUS_REPO_ID=your-repo-idPUBLIC_GISCUS_CATEGORY=Blog CommentsPUBLIC_GISCUS_CATEGORY_ID=your-category-idTip
Get your Giscus values from giscus.app after enabling Discussions on your repo.
Credits
- astro-erudite by @jktrn — original design and architecture
- Astro Micro by trevortylerlee — inspiration
- Cursor — development tool