Skip to content

mhadidg/gh-trends

Repository files navigation

Github trends

CI License: MIT Node.js Version

Weekly newsletter featuring fresh trending Github projects. The top 20 picks every week.

✉️ Email newsletter | 🔔 GitHub inbox notifications | 📶 RSS feed

Email newsletter example

I wrote about my motive in a blog post. If you're curious about the technical details, the post covers that too.

How to subscribe

You can subscribe via one of the these channels:

  • Github notifications (via releases)
  • Email newsletter
  • RSS feed (individual repo feeds)

Github notifications

Cadence: weekly (every Monday)

The recommend channel is Github release:

  • Click Watch 👀
  • Select Custom
  • Check Releases

That's it. You will get notified once a new release is published.

Note

If you watch releases only, you won't show up among the repo's watchers.

Email newsletter

Cadence: weekly (every Monday)

Subscribe here.

Note

I'm using Google Forms for now. That's a bit amateur-ish and not super encouraging, I know. A fancy subscription page is on my TODO list.

RSS feed

Cadence: twice daily (roughly at 00:00 and 12:00)

https://raw.githubusercontent.com/mhadidg/gh-trends/refs/heads/main/feed/rss.xml

Quick setup

Everything is running on Github Actions: serverless, zero operational cost, and fully automated.

Here's how to run it locally:

# Install deps
npm install

# Copy default config
cp .env.example .env

# Run locally (list repos in terminal)
npm run preview:live

# Show me more please
RELEASE_TOP_N=40 npm run preview:live

# Want to go back in time? Sure
SCAN_EVAL_DATE=2025-01-01 npm run preview:live

# Expand the scan window (default is 7 days)
SCAN_DAYS=30 npm run preview:live

Sending email

Once configured, newsletter emails can be delivered through Resend or Buttondown. Both have free tier more than enough for personal or team-wide use.

You will need to setup secrets (via env vars, see .env.example) to send emails. Those should be configured as Secrets under the forked repo:

Settings > Secrets and variables > Actions.