Files
jackwener__opencli/src/clis/hackernews/top.yaml
AstroHan 127a974ecd feat(hackernews): add new, best, ask, show, jobs, search, user commands (#290)
Expand HackerNews from 1 command to 8, covering all major HN use cases.
All YAML adapters, strategy: public, browser: false.

- new/best/ask/show/jobs: Firebase API list endpoints with deleted/dead filtering
- search: Algolia API with query + sort (relevance/date)
- user: Firebase user profile with date formatting
- top.yaml: add filter for deleted/dead items + dynamic pre-fetch limit
- E2E tests for all 7 new commands
- Update README, README.zh-CN, adapter docs

Co-authored-by: jackwener <jakevingoo@gmail.com>
2026-03-23 15:13:47 +08:00

39 lines
813 B
YAML

site: hackernews
name: top
description: Hacker News top stories
domain: news.ycombinator.com
strategy: public
browser: false
args:
limit:
type: int
default: 20
description: Number of stories
pipeline:
- fetch:
url: https://hacker-news.firebaseio.com/v0/topstories.json
- limit: "${{ Math.min((args.limit ? args.limit : 20) + 10, 50) }}"
- map:
id: ${{ item }}
- fetch:
url: https://hacker-news.firebaseio.com/v0/item/${{ item.id }}.json
- filter: item.title && !item.deleted && !item.dead
- map:
rank: ${{ index + 1 }}
title: ${{ item.title }}
score: ${{ item.score }}
author: ${{ item.by }}
comments: ${{ item.descendants }}
url: ${{ item.url }}
- limit: ${{ args.limit }}
columns: [rank, title, score, author, comments]