Skip to main content
Overview

Introducing merox-erudite: My Customized Astro Blogging Theme

3 min read

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.

merox-erudite theme preview

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:

Terminal window
PUBLIC_GOOGLE_ANALYTICS_ID=G-XXXXXXXXXX
PUBLIC_UMAMI_WEBSITE_ID=your-umami-id

SEO 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

Featureastro-eruditemerox-erudite
Comments✅ Giscus (GitHub)
Analytics✅ GA & Umami
SEO SchemasBasic✅ FAQ & HowTo
HomepageStandard✅ Enhanced with timeline
FontsSystem✅ Geist variable fonts
AdSense✅ Built-in component

Getting Started

  1. Click “Use this template” on the merox-erudite repository
  2. Clone and install:
    Terminal window
    git clone https://github.com/YOUR_USERNAME/YOUR_REPO_NAME.git
    cd YOUR_REPO_NAME
    npm install
  3. Start dev server:
    Terminal window
    npm run dev
    Available at http://localhost:1234
  4. Update src/consts.ts with your site info
  5. 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-XXXXXXXXXX
PUBLIC_UMAMI_WEBSITE_ID=your-umami-id
PUBLIC_GISCUS_REPO=username/repo
PUBLIC_GISCUS_REPO_ID=your-repo-id
PUBLIC_GISCUS_CATEGORY=Blog Comments
PUBLIC_GISCUS_CATEGORY_ID=your-category-id
Tip

Get your Giscus values from giscus.app after enabling Discussions on your repo.

Credits

Share this post

Related Posts

Loading comments...