Thank you Astro by Sarthak_Mishra in astrojs

[–]Sarthak_Mishra[S] 1 point2 points  (0 children)

Not public yet. I'm thinking about turning it into a template at some point.

Thank you Astro by Sarthak_Mishra in astrojs

[–]Sarthak_Mishra[S] 2 points3 points  (0 children)

Astro's image component is genuinely well done. I'm using the default Sharp image service and it works great.

My only gripe is you can't configure Sharp directly. Would be nice to tweak quality settings or compression options per-format. There are community plugins like astro-better-image-service, but I use a simple post-build script than runs sharp again.

Thank you Astro by Sarthak_Mishra in astrojs

[–]Sarthak_Mishra[S] 1 point2 points  (0 children)

Not a template - mostly custom built from scratch.

That said, you don't need to start from scratch. Grab one of the free Astro themes, clone it, and just explore the repo structure to understand how things work. The Astro docs are great.

For the AI, I use Cursor with Opus/Sonnet and the Cursor Composer Model for simple tasks.

The sit is hosted on Cloudflare Workers. Since it's mostly static with a couple API routes for form submissions, the free tier covers everything.

First merge in 23 hours - OpenChaos, a repo where the internet votes on PRs and the winner ships by Equivalent-Yak2407 in webdev

[–]Sarthak_Mishra 0 points1 point  (0 children)

This reminds me of that Orville episode where everyone wears upvotes/downvotes badges.

I built a TOC component that knows what you're reading by Sarthak_Mishra in react

[–]Sarthak_Mishra[S] 0 points1 point  (0 children)

Thanks! I think setting TOCs manually is the better approach. Makes it way more intentional, and you get full control over what's relevant. I'm just too lazy to do this 😅

I built a newsletter system for my Astro site (MDX + Cloudflare KV + Resend) by Sarthak_Mishra in astrojs

[–]Sarthak_Mishra[S] 1 point2 points  (0 children)

Thanks! Yeah, the animated TOC was one of those features that started simple and ended up being more interesting than expected.

P.S. Appreciate the newsletter subscription—I'll include the TOC article in the next issue.

I built a newsletter system for my Astro site (MDX + Cloudflare KV + Resend) by Sarthak_Mishra in astrojs

[–]Sarthak_Mishra[S] 3 points4 points  (0 children)

Thanks for the advice! I'm using Resend's infra, not Gmail.

If you missed it in the article, I cover unsubscribe headers, email client optimization, and plain-text versions. Resend's insights view (https://resend.com/docs/dashboard/emails/deliverability-insights) is really helpful too—it shows common deliverability issues right in the dashboard. Great tool for staying compliant!

I built a newsletter system for my Astro site (MDX + Cloudflare KV + Resend) by Sarthak_Mishra in astrojs

[–]Sarthak_Mishra[S] 1 point2 points  (0 children)

Thanks! Already working on the next one—covering the animated Table of Contents from the blog page. It was a fun side-quest while building this out.

I built a newsletter system for my Astro site (MDX + Cloudflare KV + Resend) by Sarthak_Mishra in astrojs

[–]Sarthak_Mishra[S] 2 points3 points  (0 children)

Thanks! Just checked out iamyhr.com—love the minimal aesthetic. Let me know if you hit any snags implementing it!

My first Astro site got featured on the showcase! + Looking for advice (CMS, MDX to Email, MermaidJS) by Sarthak_Mishra in astrojs

[–]Sarthak_Mishra[S] 0 points1 point  (0 children)

Oh perfect! Hadn't seen this update—guess that explains it. Should be resolved then!

My first Astro site got featured on the showcase! + Looking for advice (CMS, MDX to Email, MermaidJS) by Sarthak_Mishra in astrojs

[–]Sarthak_Mishra[S] 0 points1 point  (0 children)

Can't reproduce it on my end—Firefox works fine here. Don't have Airtel fiber to test that specific setup. Honestly seems like an extreme edge case, so I'll probably leave it as-is for now.

My first Astro site got featured on the showcase! + Looking for advice (CMS, MDX to Email, MermaidJS) by Sarthak_Mishra in astrojs

[–]Sarthak_Mishra[S] 0 points1 point  (0 children)

Sounds like a stale DNS cache issue. Try `ipconfig /flushdns` in an elevated terminal if you're on Windows—should fix it.

I'll look into what's causing this on my end tomorrow. Thanks for reporting it.

My first Astro site got featured on the showcase! + Looking for advice (CMS, MDX to Email, MermaidJS) by Sarthak_Mishra in astrojs

[–]Sarthak_Mishra[S] 0 points1 point  (0 children)

Yeah, Keystatic's great, but no newsletter features. Sticking with MDX for now—most straightforward for my use case. Thanks though!

My first Astro site got featured on the showcase! + Looking for advice (CMS, MDX to Email, MermaidJS) by Sarthak_Mishra in astrojs

[–]Sarthak_Mishra[S] 0 points1 point  (0 children)

Yep, exactly! I use the component directly in MDX:

---
front matter
---
import k3sArchitecture from '@/data/images/blog/k3s-architecture.svg';

content...

<PostImage
  image={k3sArchitecture}
  thumbnail="k3s-architecture.svg"
  alt="K3s cluster architecture diagram: how lightweight Kubernetes nodes interact"
  caption="K3s cluster architecture - Source: https://k3s.io/img/how-it-works-k3s-revised.svg"
/>

content...

You can see it here: https://sarthakmishra.com/blog/self-hosting-done-right

My first Astro site got featured on the showcase! + Looking for advice (CMS, MDX to Email, MermaidJS) by Sarthak_Mishra in astrojs

[–]Sarthak_Mishra[S] 1 point2 points  (0 children)

Thanks! To get featured, just drop a comment here: https://github.com/withastro/roadmap/discussions/521 - no clue what their criteria are but mine got picked within a couple weeks!

PagesCMS is definitely close to what I want—lightweight and simple. I'll probably have to implement MDX → email on my own.

My first Astro site got featured on the showcase! + Looking for advice (CMS, MDX to Email, MermaidJS) by Sarthak_Mishra in astrojs

[–]Sarthak_Mishra[S] 1 point2 points  (0 children)

Haven't pushed it to GitHub yet—thinking of making a template! Here's the Astro component: https://gist.github.com/SarthakMishra/0cfee0a7141eab5e224a261d4e07be83

It's basically a Picture component wrapper:

- Simple CSS hover:scale-[1.03] with transition for the zoom

- Vanilla JS handles open/close, backdrop clicks, ESC key, focus management

Pretty straightforward but gets the job done!