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
2.4 KiB
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 |
|
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