Skip to content

feat(medium): add medium adapter#190

Merged
jackwener merged 1 commit intojackwener:mainfrom
vkop007:feat/medium-adapter
Mar 21, 2026
Merged

feat(medium): add medium adapter#190
jackwener merged 1 commit intojackwener:mainfrom
vkop007:feat/medium-adapter

Conversation

@vkop007
Copy link
Contributor

@vkop007 vkop007 commented Mar 21, 2026

Description

This PR introduces a brand new Medium adapter to OpenCLI. It elegantly bypasses Medium's strict Cloudflare bot protection by utilizing the api.rss2json.com service to quickly fetch and parse the official RSS feeds, without requiring any browser session.

Commands Added (opencli medium):

  • tag - Fetch the top recent stories for any Medium tag (e.g., opencli medium tag --tag programming).
  • user - Fetch the recent stories published by a specific Medium user (e.g., opencli medium user --username evanyou).
  • publication - Fetch the latest highly-technical engineering articles from official company blogs (e.g., opencli medium publication --name netflix-techblog).

Note: Also updated README.md and README.zh-CN.md to officially list both stackoverflow and medium in the built-in commands table.

Related issue: N/A

Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • 🌐 New site adapter
  • 📝 Documentation
  • ♻️ Refactor
  • 🔧 CI / build / tooling

Checklist

  • I ran the checks relevant to this PR (opencli validate)
  • I updated tests or docs if needed (README.md and README.zh-CN.md)
  • I included output or screenshots when useful

Documentation (if adding/modifying an adapter)

  • Added doc page under docs/adapters/ (N/A - Desktop adapters only)
  • Updated docs/adapters/index.md table (N/A)
  • Updated sidebar in docs/.vitepress/config.mts (N/A)

Screenshots / Output

$ opencli medium publication --name netflix-techblog --limit 3
  medium/publication
┌──────────────────────────────────────────────────────────────┬─────────────────────────┬─────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Title                                                        │ Author                  │ Date                │ Url                                                                                                                    │
├──────────────────────────────────────────────────────────────┼─────────────────────────┼─────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Scaling Global Storytelling: Modernizing Localization Analy… │ Netflix Technology Blog │ 2026-03-06 15:01:27 │ https://netflixtechblog.com/scaling-global-storytelling-modernizing-localization-analytics-at-netflix-816f47290641?so… │
├──────────────────────────────────────────────────────────────┼─────────────────────────┼─────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Optimizing Recommendation Systems with JDK’s Vector API      │ Netflix Technology Blog │ 2026-03-03 01:36:46 │ https://netflixtechblog.com/optimizing-recommendation-systems-with-jdks-vector-api-30d2830401ec?source=rss----2615bd0… │
├──────────────────────────────────────────────────────────────┼─────────────────────────┼─────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Mount Mayhem at Netflix: Scaling Containers on Modern CPUs   │ Netflix Technology Blog │ 2026-02-28 22:55:53 │ https://netflixtechblog.com/mount-mayhem-at-netflix-scaling-containers-on-modern-cpus-f3b09b68beac?source=rss----2615… │
└──────────────────────────────────────────────────────────────┴─────────────────────────┴─────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
3 items · medium/publication

@jackwener jackwener merged commit 06c902a into jackwener:main Mar 21, 2026
10 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants