Files
wehub-resource-sync 9b395f5cc3
E2E Headed Chrome / e2e-headed (macos-15) (push) Has been cancelled
E2E Headed Chrome / e2e-headed (ubuntu-latest) (push) Has been cancelled
E2E Headed Chrome / e2e-headed (windows-latest) (push) Has been cancelled
CI / build (macos-latest) (push) Has been cancelled
CI / build (ubuntu-latest) (push) Has been cancelled
CI / build (windows-latest) (push) Has been cancelled
CI / unit-test (push) Has been cancelled
CI / bun-test (push) Has been cancelled
CI / adapter-test (push) Has been cancelled
CI / smoke-test (macos-latest) (push) Has been cancelled
CI / smoke-test (ubuntu-latest) (push) Has been cancelled
Security Audit / audit (push) Has been cancelled
Build Chrome Extension / build (push) Has been cancelled
Trigger Website Rebuild (Docs Updated) / dispatch (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:39:48 +08:00

2.4 KiB

schema_version, page_id, url_patterns, purpose, last_verified, source
schema_version page_id url_patterns purpose last_verified source
1.1 front
https://news.ycombinator.com/
https://news.ycombinator.com/news
ranked front page (top stories), default landing 2026-06-02 global

Visual anchors

  • text: top nav strip Hacker News | new | past | comments | ask | show | jobs | submit
  • pattern: 每个 story 是 2 个 <tr>:第一 <tr class="athing" id="<id>"> 含 rank + title + url;紧邻 sibling <tr> 含 score + author + age + comment-count
  • selector_pattern (id-anchored): tr.athing[id="<id>"]
  • selector_pattern (sibling traversal): tr.athing[id="<id>"] + tr (subtext row)
  • selector_pattern (attribute boundary): a[href^="item?id="] (comments link, NOT title link out to external)
  • (testid: 不适用 — HN 无 data-testid 约定)

Actions on this page

action:open_story_detail

pre: on /news 或 /,目标 story id 已知(rank 仅作降级匹配) do: opencli hackernews story || click tr.athing[id="<id>"] + tr a[href^="item?id="] post: URL → /item?id= AND