mirror of
https://github.com/jackwener/OpenCLI.git
synced 2026-09-14 18:25:42 +08:00
a78ceb1602
* feat: 11 read adapters across 8 sites (dblp / steam / bbc / devto / lobsters / medium / coingecko / hf) Round 2 of the adapter expansion sweep. All 11 commands hit public APIs (no browser, no auth), follow the post-#1332 typed-error / no-silent-failure discipline, and were live-verified against real endpoints. New adapters: - dblp/author : recent publications for one author (resolve PID by name, or pass --pid) - steam/search : storefront name search (storesearch API) - steam/app : single app detail (appdetails API; HTML entities decoded) - bbc/topic : per-topic RSS (8 canonical BBC News feeds) - devto/latest : /api/articles/latest with --page pagination - lobsters/domain : stories from a specific source domain (/domains/<d>.json) - medium/tag : tag RSS (description full-length, no silent truncation) - coingecko/exchanges : trust score + 24h BTC volume leaderboard - coingecko/categories : sector buckets with 6 sort options - coingecko/global : aggregate market totals + BTC/ETH dominance - hf/paper : single-paper detail by arXiv id (summary, ai_summary, ai_keywords, upvotes) Also adds clis/steam/utils.js + clis/bbc/utils.js as shared helpers (HTML entity decode, RSS parsing). All listings carry a round-trippable id where a detail sibling exists; advise:listing-id-pairing reports zero new violations. typed- error-lint and silent-column-drop gates both unchanged from baseline. Manifest: 698 → 709 (+11 entries). * fix: tighten adapter round2 contracts
46 lines
1.4 KiB
Markdown
46 lines
1.4 KiB
Markdown
# Medium
|
|
|
|
**Mode**: 🌗 Mixed · **Domain**: `medium.com`
|
|
|
|
## Commands
|
|
|
|
| Command | Description |
|
|
|---------|-------------|
|
|
| `opencli medium feed` | Get hot Medium posts, optionally scoped to a topic |
|
|
| `opencli medium search` | Search Medium posts by keyword |
|
|
| `opencli medium user` | Get recent articles by a user |
|
|
| `opencli medium tag <tag>` | Latest articles for a Medium tag (public RSS, no browser) |
|
|
|
|
## Usage Examples
|
|
|
|
```bash
|
|
# Get the general Medium feed
|
|
opencli medium feed --limit 10
|
|
|
|
# Search posts by keyword
|
|
opencli medium search ai
|
|
|
|
# Get articles by a user
|
|
opencli medium user @username
|
|
|
|
# Topic feed as JSON
|
|
opencli medium feed --topic programming -f json
|
|
|
|
# Latest articles for a tag (public RSS — fastest, no browser)
|
|
opencli medium tag programming --limit 10
|
|
opencli medium tag artificial-intelligence --limit 20
|
|
```
|
|
|
|
## `tag` columns
|
|
|
|
`rank, title, author, description, categories, published, url`
|
|
|
|
- `description` is the full RSS `<description>` (no silent truncation; pipe through `head` if you want a preview).
|
|
- `categories` is comma-joined Medium tags from each item's `<category>` blocks.
|
|
- `published` is the original `pubDate` ISO string when available.
|
|
|
|
## Prerequisites
|
|
|
|
- `opencli medium search` and `opencli medium tag` can run without a browser (the latter parses `medium.com/feed/tag/<tag>` RSS)
|
|
- `opencli medium feed` and `opencli medium user` require Browser Bridge access to `medium.com`
|