From 2498b523a3edf47ed6cf22cb89381051a4572dca Mon Sep 17 00:00:00 2001 From: "Tommy D. Rossi" Date: Sun, 11 Jan 2026 22:39:36 +0100 Subject: [PATCH] snaps --- .../assets/aria-labels-google-snapshot.txt | 2 +- .../aria-labels-hacker-news-snapshot.txt | 1667 +- playwriter/src/htmlrewrite.test.ts | 25420 +++++++--------- .../src/snapshots/shadcn-ui-accessibility.md | 4 +- 4 files changed, 12296 insertions(+), 14797 deletions(-) diff --git a/playwriter/src/assets/aria-labels-google-snapshot.txt b/playwriter/src/assets/aria-labels-google-snapshot.txt index db34590..a3197d8 100644 --- a/playwriter/src/assets/aria-labels-google-snapshot.txt +++ b/playwriter/src/assets/aria-labels-google-snapshot.txt @@ -31,7 +31,7 @@ - generic [ref=e55]: - text: "Google offered in:" - link [ref=e56] [cursor=pointer]: - - /url: https://www.google.com/setprefs?sig=0_ZnmLffy2mN5QJZeQfFpi65i-Rv4%3D&hl=it&source=homepage&sa=X&ved=0ahUKEwi0pLCVz4GSAxWUsFYBHSGzHbcQ2ZgBCBU + - /url: https://www.google.com/setprefs?sig=0_-1OPkiTlOBOVFrBWG18fjvZuNsY%3D&hl=it&source=homepage&sa=X&ved=0ahUKEwjstcWBt4SSAxVe4jgGHTucPWEQ2ZgBCBU - text: Italiano - contentinfo [ref=e58]: - generic [ref=e59]: Italy diff --git a/playwriter/src/assets/aria-labels-hacker-news-snapshot.txt b/playwriter/src/assets/aria-labels-hacker-news-snapshot.txt index 6b5c1e3..8b39340 100644 --- a/playwriter/src/assets/aria-labels-hacker-news-snapshot.txt +++ b/playwriter/src/assets/aria-labels-hacker-news-snapshot.txt @@ -41,989 +41,998 @@ - cell [ref=e29]: - table [ref=e30]: - rowgroup [ref=e31]: - - 'row "1. upvote Open Chaos: A self-evolving open-source project (openchaos.dev)" [ref=e32]': + - row "1. upvote iCloud Photos Downloader (github.com/icloud-photos-downloader)" [ref=e32]: - cell "1." [ref=e33] - cell "upvote" [ref=e34]: - link "upvote" [ref=e36] [cursor=pointer]: - - /url: vote?id=46566812&how=up&goto=news + - /url: vote?id=46578921&how=up&goto=news - generic "upvote" [ref=e37] - - 'cell "Open Chaos: A self-evolving open-source project (openchaos.dev)" [ref=e38]': + - cell "iCloud Photos Downloader (github.com/icloud-photos-downloader)" [ref=e38]: - generic [ref=e39]: - - 'link "Open Chaos: A self-evolving open-source project" [ref=e40] [cursor=pointer]': - - /url: https://www.openchaos.dev/ + - link "iCloud Photos Downloader" [ref=e40] [cursor=pointer]: + - /url: https://github.com/icloud-photos-downloader/icloud_photos_downloader - generic [ref=e41]: - text: ( - - link "openchaos.dev" [ref=e42] [cursor=pointer]: - - /url: from?site=openchaos.dev + - link "github.com/icloud-photos-downloader" [ref=e42] [cursor=pointer]: + - /url: from?site=github.com/icloud-photos-downloader - text: ) - - row "81 points by stefanvdw1 2 hours ago | hide | 11 comments" [ref=e43]: + - row "167 points by reconnecting 2 hours ago | hide | 82 comments" [ref=e43]: - cell [ref=e44] - - cell "81 points by stefanvdw1 2 hours ago | hide | 11 comments" [ref=e45]: + - cell "167 points by reconnecting 2 hours ago | hide | 82 comments" [ref=e45]: - generic [ref=e46]: - - text: 81 points by - - link "stefanvdw1" [ref=e47] [cursor=pointer]: - - /url: user?id=stefanvdw1 - - generic "2026-01-10T16:03:55 1768061035" [ref=e48]: + - text: 167 points by + - link "reconnecting" [ref=e47] [cursor=pointer]: + - /url: user?id=reconnecting + - generic "2026-01-11T19:23:58 1768159438" [ref=e48]: - link "2 hours ago" [ref=e49] [cursor=pointer]: - - /url: item?id=46566812 + - /url: item?id=46578921 - text: "|" - link "hide" [ref=e50] [cursor=pointer]: - - /url: hide?id=46566812&goto=news + - /url: hide?id=46578921&goto=news - text: "|" - - link "11 comments" [ref=e51] [cursor=pointer]: - - /url: item?id=46566812 + - link "82 comments" [ref=e51] [cursor=pointer]: + - /url: item?id=46578921 - row [ref=e52] - - row "2. upvote AI is a business model stress test (dri.es)" [ref=e53]: + - row "2. upvote The struggle of resizing windows on macOS Tahoe (noheger.at)" [ref=e53]: - cell "2." [ref=e54] - cell "upvote" [ref=e55]: - link "upvote" [ref=e57] [cursor=pointer]: - - /url: vote?id=46567392&how=up&goto=news + - /url: vote?id=46579864&how=up&goto=news - generic "upvote" [ref=e58] - - cell "AI is a business model stress test (dri.es)" [ref=e59]: + - cell "The struggle of resizing windows on macOS Tahoe (noheger.at)" [ref=e59]: - generic [ref=e60]: - - link "AI is a business model stress test" [ref=e61] [cursor=pointer]: - - /url: https://dri.es/ai-is-a-business-model-stress-test + - link "The struggle of resizing windows on macOS Tahoe" [ref=e61] [cursor=pointer]: + - /url: https://noheger.at/blog/2026/01/11/the-struggle-of-resizing-windows-on-macos-tahoe/ - generic [ref=e62]: - text: ( - - link "dri.es" [ref=e63] [cursor=pointer]: - - /url: from?site=dri.es + - link "noheger.at" [ref=e63] [cursor=pointer]: + - /url: from?site=noheger.at - text: ) - - row "41 points by amarsahinovic 1 hour ago | hide | 36 comments" [ref=e64]: + - row "80 points by happosai 40 minutes ago | hide | 15 comments" [ref=e64]: - cell [ref=e65] - - cell "41 points by amarsahinovic 1 hour ago | hide | 36 comments" [ref=e66]: + - cell "80 points by happosai 40 minutes ago | hide | 15 comments" [ref=e66]: - generic [ref=e67]: - - text: 41 points by - - link "amarsahinovic" [ref=e68] [cursor=pointer]: - - /url: user?id=amarsahinovic - - generic "2026-01-10T16:56:34 1768064194" [ref=e69]: - - link "1 hour ago" [ref=e70] [cursor=pointer]: - - /url: item?id=46567392 + - text: 80 points by + - link "happosai" [ref=e68] [cursor=pointer]: + - /url: user?id=happosai + - generic "2026-01-11T20:47:55 1768164475" [ref=e69]: + - link "40 minutes ago" [ref=e70] [cursor=pointer]: + - /url: item?id=46579864 - text: "|" - link "hide" [ref=e71] [cursor=pointer]: - - /url: hide?id=46567392&goto=news + - /url: hide?id=46579864&goto=news - text: "|" - - link "36 comments" [ref=e72] [cursor=pointer]: - - /url: item?id=46567392 + - link "15 comments" [ref=e72] [cursor=pointer]: + - /url: item?id=46579864 - row [ref=e73] - - row "3. upvote A Eulogy for Dark Sky, a Data Visualization Masterpiece (2023) (nightingaledvs.com)" [ref=e74]: + - row "3. upvote Sampling at negative temperature (cavendishlabs.org)" [ref=e74]: - cell "3." [ref=e75] - cell "upvote" [ref=e76]: - link "upvote" [ref=e78] [cursor=pointer]: - - /url: vote?id=46565132&how=up&goto=news + - /url: vote?id=46579374&how=up&goto=news - generic "upvote" [ref=e79] - - cell "A Eulogy for Dark Sky, a Data Visualization Masterpiece (2023) (nightingaledvs.com)" [ref=e80]: + - cell "Sampling at negative temperature (cavendishlabs.org)" [ref=e80]: - generic [ref=e81]: - - link "A Eulogy for Dark Sky, a Data Visualization Masterpiece (2023)" [ref=e82] [cursor=pointer]: - - /url: https://nightingaledvs.com/dark-sky-weather-data-viz/ + - link "Sampling at negative temperature" [ref=e82] [cursor=pointer]: + - /url: https://cavendishlabs.org/blog/negative-temperature/ - generic [ref=e83]: - text: ( - - link "nightingaledvs.com" [ref=e84] [cursor=pointer]: - - /url: from?site=nightingaledvs.com + - link "cavendishlabs.org" [ref=e84] [cursor=pointer]: + - /url: from?site=cavendishlabs.org - text: ) - - row "252 points by skadamat 6 hours ago | hide | 112 comments" [ref=e85]: + - row "53 points by ag8 1 hour ago | hide | 19 comments" [ref=e85]: - cell [ref=e86] - - cell "252 points by skadamat 6 hours ago | hide | 112 comments" [ref=e87]: + - cell "53 points by ag8 1 hour ago | hide | 19 comments" [ref=e87]: - generic [ref=e88]: - - text: 252 points by - - link "skadamat" [ref=e89] [cursor=pointer]: - - /url: user?id=skadamat - - generic "2026-01-10T12:23:20 1768047800" [ref=e90]: - - link "6 hours ago" [ref=e91] [cursor=pointer]: - - /url: item?id=46565132 + - text: 53 points by + - link "ag8" [ref=e89] [cursor=pointer]: + - /url: user?id=ag8 + - generic "2026-01-11T20:01:14 1768161674" [ref=e90]: + - link "1 hour ago" [ref=e91] [cursor=pointer]: + - /url: item?id=46579374 - text: "|" - link "hide" [ref=e92] [cursor=pointer]: - - /url: hide?id=46565132&goto=news + - /url: hide?id=46579374&goto=news - text: "|" - - link "112 comments" [ref=e93] [cursor=pointer]: - - /url: item?id=46565132 + - link "19 comments" [ref=e93] [cursor=pointer]: + - /url: item?id=46579374 - row [ref=e94] - - row "4. upvote Allow me to introduce, the Citroen C15 (eupolicy.social)" [ref=e95]: + - row "4. upvote A set of Idiomatic prod-grade katas for experienced devs transitioning to Go (github.com/medunes)" [ref=e95]: - cell "4." [ref=e96] - cell "upvote" [ref=e97]: - link "upvote" [ref=e99] [cursor=pointer]: - - /url: vote?id=46564696&how=up&goto=news + - /url: vote?id=46531622&how=up&goto=news - generic "upvote" [ref=e100] - - cell "Allow me to introduce, the Citroen C15 (eupolicy.social)" [ref=e101]: + - cell "A set of Idiomatic prod-grade katas for experienced devs transitioning to Go (github.com/medunes)" [ref=e101]: - generic [ref=e102]: - - link "Allow me to introduce, the Citroen C15" [ref=e103] [cursor=pointer]: - - /url: https://eupolicy.social/@jmaris/115860595238097654 + - link "A set of Idiomatic prod-grade katas for experienced devs transitioning to Go" [ref=e103] [cursor=pointer]: + - /url: https://github.com/MedUnes/go-kata - generic [ref=e104]: - text: ( - - link "eupolicy.social" [ref=e105] [cursor=pointer]: - - /url: from?site=eupolicy.social + - link "github.com/medunes" [ref=e105] [cursor=pointer]: + - /url: from?site=github.com/medunes - text: ) - - row "534 points by colinprince 7 hours ago | hide | 330 comments" [ref=e106]: + - row "65 points by medunes 4 hours ago | hide | 8 comments" [ref=e106]: - cell [ref=e107] - - cell "534 points by colinprince 7 hours ago | hide | 330 comments" [ref=e108]: + - cell "65 points by medunes 4 hours ago | hide | 8 comments" [ref=e108]: - generic [ref=e109]: - - text: 534 points by - - link "colinprince" [ref=e110] [cursor=pointer]: - - /url: user?id=colinprince - - generic "2026-01-10T11:12:15 1768043535" [ref=e111]: - - link "7 hours ago" [ref=e112] [cursor=pointer]: - - /url: item?id=46564696 + - text: 65 points by + - link "medunes" [ref=e110] [cursor=pointer]: + - /url: user?id=medunes + - generic "2026-01-07T19:53:40 1767815620" [ref=e111]: + - link "4 hours ago" [ref=e112] [cursor=pointer]: + - /url: item?id=46531622 - text: "|" - link "hide" [ref=e113] [cursor=pointer]: - - /url: hide?id=46564696&goto=news + - /url: hide?id=46531622&goto=news - text: "|" - - link "330 comments" [ref=e114] [cursor=pointer]: - - /url: item?id=46564696 + - link "8 comments" [ref=e114] [cursor=pointer]: + - /url: item?id=46531622 - row [ref=e115] - - row "5. upvote New information extracted from Snowden PDFs through metadata version analysis (libroot.org)" [ref=e116]: + - 'row "5. upvote Ask HN: What are you working on? (January 2026)" [ref=e116]': - cell "5." [ref=e117] - cell "upvote" [ref=e118]: - link "upvote" [ref=e120] [cursor=pointer]: - - /url: vote?id=46564762&how=up&goto=news + - /url: vote?id=46577242&how=up&goto=news - generic "upvote" [ref=e121] - - cell "New information extracted from Snowden PDFs through metadata version analysis (libroot.org)" [ref=e122]: - - generic [ref=e123]: - - link "New information extracted from Snowden PDFs through metadata version analysis" [ref=e124] [cursor=pointer]: - - /url: https://libroot.org/posts/going-through-snowden-documents-part-4/ - - generic [ref=e125]: + - 'cell "Ask HN: What are you working on? (January 2026)" [ref=e122]': + - 'link "Ask HN: What are you working on? (January 2026)" [ref=e124] [cursor=pointer]': + - /url: item?id=46577242 + - row "104 points by david927 4 hours ago | hide | 370 comments" [ref=e125]: + - cell [ref=e126] + - cell "104 points by david927 4 hours ago | hide | 370 comments" [ref=e127]: + - generic [ref=e128]: + - text: 104 points by + - link "david927" [ref=e129] [cursor=pointer]: + - /url: user?id=david927 + - generic "2026-01-11T16:43:06 1768149786" [ref=e130]: + - link "4 hours ago" [ref=e131] [cursor=pointer]: + - /url: item?id=46577242 + - text: "|" + - link "hide" [ref=e132] [cursor=pointer]: + - /url: hide?id=46577242&goto=news + - text: "|" + - link "370 comments" [ref=e133] [cursor=pointer]: + - /url: item?id=46577242 + - row [ref=e134] + - 'row "6. upvote \"Scholars Will Call It Nonsense\": The Structure of von Däniken''s Argument (1987) (penn.museum)" [ref=e135]': + - cell "6." [ref=e136] + - cell "upvote" [ref=e137]: + - link "upvote" [ref=e139] [cursor=pointer]: + - /url: vote?id=46578957&how=up&goto=news + - generic "upvote" [ref=e140] + - 'cell "\"Scholars Will Call It Nonsense\": The Structure of von Däniken''s Argument (1987) (penn.museum)" [ref=e141]': + - generic [ref=e142]: + - 'link "\"Scholars Will Call It Nonsense\": The Structure of von Däniken''s Argument (1987)" [ref=e143] [cursor=pointer]': + - /url: https://www.penn.museum/sites/expedition/scholars-will-call-it-nonsense/ + - generic [ref=e144]: - text: ( - - link "libroot.org" [ref=e126] [cursor=pointer]: - - /url: from?site=libroot.org + - link "penn.museum" [ref=e145] [cursor=pointer]: + - /url: from?site=penn.museum - text: ) - - row "180 points by libroot 7 hours ago | hide | 85 comments" [ref=e127]: - - cell [ref=e128] - - cell "180 points by libroot 7 hours ago | hide | 85 comments" [ref=e129]: - - generic [ref=e130]: - - text: 180 points by - - link "libroot" [ref=e131] [cursor=pointer]: - - /url: user?id=libroot - - generic "2026-01-10T11:23:59 1768044239" [ref=e132]: - - link "7 hours ago" [ref=e133] [cursor=pointer]: - - /url: item?id=46564762 + - row "34 points by Kaibeezy 2 hours ago | hide | 21 comments" [ref=e146]: + - cell [ref=e147] + - cell "34 points by Kaibeezy 2 hours ago | hide | 21 comments" [ref=e148]: + - generic [ref=e149]: + - text: 34 points by + - link "Kaibeezy" [ref=e150] [cursor=pointer]: + - /url: user?id=Kaibeezy + - generic "2026-01-11T19:26:13 1768159573" [ref=e151]: + - link "2 hours ago" [ref=e152] [cursor=pointer]: + - /url: item?id=46578957 - text: "|" - - link "hide" [ref=e134] [cursor=pointer]: - - /url: hide?id=46564762&goto=news + - link "hide" [ref=e153] [cursor=pointer]: + - /url: hide?id=46578957&goto=news - text: "|" - - link "85 comments" [ref=e135] [cursor=pointer]: - - /url: item?id=46564762 - - row [ref=e136] - - row "6. upvote UK government exempting itself from cyber law inspires little confidence (theregister.com)" [ref=e137]: - - cell "6." [ref=e138] - - cell "upvote" [ref=e139]: - - link "upvote" [ref=e141] [cursor=pointer]: - - /url: vote?id=46565731&how=up&goto=news - - generic "upvote" [ref=e142] - - cell "UK government exempting itself from cyber law inspires little confidence (theregister.com)" [ref=e143]: - - generic [ref=e144]: - - link "UK government exempting itself from cyber law inspires little confidence" [ref=e145] [cursor=pointer]: - - /url: https://www.theregister.com/2026/01/10/csr_bill_analysis/ - - generic [ref=e146]: + - link "21 comments" [ref=e154] [cursor=pointer]: + - /url: item?id=46578957 + - row [ref=e155] + - row "7. upvote Gentoo Linux 2025 Review (gentoo.org)" [ref=e156]: + - cell "7." [ref=e157] + - cell "upvote" [ref=e158]: + - link "upvote" [ref=e160] [cursor=pointer]: + - /url: vote?id=46574769&how=up&goto=news + - generic "upvote" [ref=e161] + - cell "Gentoo Linux 2025 Review (gentoo.org)" [ref=e162]: + - generic [ref=e163]: + - link "Gentoo Linux 2025 Review" [ref=e164] [cursor=pointer]: + - /url: https://www.gentoo.org/news/2026/01/05/new-year.html + - generic [ref=e165]: - text: ( - - link "theregister.com" [ref=e147] [cursor=pointer]: - - /url: from?site=theregister.com + - link "gentoo.org" [ref=e166] [cursor=pointer]: + - /url: from?site=gentoo.org - text: ) - - row "194 points by DyslexicAtheist 4 hours ago | hide | 48 comments" [ref=e148]: - - cell [ref=e149] - - cell "194 points by DyslexicAtheist 4 hours ago | hide | 48 comments" [ref=e150]: - - generic [ref=e151]: - - text: 194 points by - - link "DyslexicAtheist" [ref=e152] [cursor=pointer]: - - /url: user?id=DyslexicAtheist - - generic "2026-01-10T13:51:27 1768053087" [ref=e153]: - - link "4 hours ago" [ref=e154] [cursor=pointer]: - - /url: item?id=46565731 + - row "262 points by akhuettel 9 hours ago | hide | 126 comments" [ref=e167]: + - cell [ref=e168] + - cell "262 points by akhuettel 9 hours ago | hide | 126 comments" [ref=e169]: + - generic [ref=e170]: + - text: 262 points by + - link "akhuettel" [ref=e171] [cursor=pointer]: + - /url: user?id=akhuettel + - generic "2026-01-11T11:38:52 1768131532" [ref=e172]: + - link "9 hours ago" [ref=e173] [cursor=pointer]: + - /url: item?id=46574769 - text: "|" - - link "hide" [ref=e155] [cursor=pointer]: - - /url: hide?id=46565731&goto=news + - link "hide" [ref=e174] [cursor=pointer]: + - /url: hide?id=46574769&goto=news - text: "|" - - link "48 comments" [ref=e156] [cursor=pointer]: - - /url: item?id=46565731 - - row [ref=e157] - - row "7. upvote I replaced Windows with Linux and everything's going great (theverge.com)" [ref=e158]: - - cell "7." [ref=e159] - - cell "upvote" [ref=e160]: - - link "upvote" [ref=e162] [cursor=pointer]: - - /url: vote?id=46566465&how=up&goto=news - - generic "upvote" [ref=e163] - - cell "I replaced Windows with Linux and everything's going great (theverge.com)" [ref=e164]: - - generic [ref=e165]: - - link "I replaced Windows with Linux and everything's going great" [ref=e166] [cursor=pointer]: - - /url: https://www.theverge.com/tech/858910/linux-diary-gaming-desktop - - generic [ref=e167]: + - link "126 comments" [ref=e175] [cursor=pointer]: + - /url: item?id=46574769 + - row [ref=e176] + - 'row "8. upvote Anthropic: Developing a Claude Code competitor using Claude Code is banned (twitter.com/sigkitten)" [ref=e177]': + - cell "8." [ref=e178] + - cell "upvote" [ref=e179]: + - link "upvote" [ref=e181] [cursor=pointer]: + - /url: vote?id=46578701&how=up&goto=news + - generic "upvote" [ref=e182] + - 'cell "Anthropic: Developing a Claude Code competitor using Claude Code is banned (twitter.com/sigkitten)" [ref=e183]': + - generic [ref=e184]: + - 'link "Anthropic: Developing a Claude Code competitor using Claude Code is banned" [ref=e185] [cursor=pointer]': + - /url: https://twitter.com/SIGKITTEN/status/2009697031422652461 + - generic [ref=e186]: - text: ( - - link "theverge.com" [ref=e168] [cursor=pointer]: - - /url: from?site=theverge.com + - link "twitter.com/sigkitten" [ref=e187] [cursor=pointer]: + - /url: from?site=twitter.com/sigkitten - text: ) - - row "229 points by rorylawless 3 hours ago | hide | 178 comments" [ref=e169]: - - cell [ref=e170] - - cell "229 points by rorylawless 3 hours ago | hide | 178 comments" [ref=e171]: - - generic [ref=e172]: - - text: 229 points by - - link "rorylawless" [ref=e173] [cursor=pointer]: - - /url: user?id=rorylawless - - generic "2026-01-10T15:26:26 1768058786" [ref=e174]: - - link "3 hours ago" [ref=e175] [cursor=pointer]: - - /url: item?id=46566465 + - row "138 points by behnamoh 2 hours ago | hide | 78 comments" [ref=e188]: + - cell [ref=e189] + - cell "138 points by behnamoh 2 hours ago | hide | 78 comments" [ref=e190]: + - generic [ref=e191]: + - text: 138 points by + - link "behnamoh" [ref=e192] [cursor=pointer]: + - /url: user?id=behnamoh + - generic "2026-01-11T19:07:08 1768158428" [ref=e193]: + - link "2 hours ago" [ref=e194] [cursor=pointer]: + - /url: item?id=46578701 - text: "|" - - link "hide" [ref=e176] [cursor=pointer]: - - /url: hide?id=46566465&goto=news + - link "hide" [ref=e195] [cursor=pointer]: + - /url: hide?id=46578701&goto=news - text: "|" - - link "178 comments" [ref=e177] [cursor=pointer]: - - /url: item?id=46566465 - - row [ref=e178] - - row "8. upvote Httpz – Zero-Allocation HTTP/1.1 Parser for OxCaml (github.com/avsm)" [ref=e179]: - - cell "8." [ref=e180] - - cell "upvote" [ref=e181]: - - link "upvote" [ref=e183] [cursor=pointer]: - - /url: vote?id=46524554&how=up&goto=news - - generic "upvote" [ref=e184] - - cell "Httpz – Zero-Allocation HTTP/1.1 Parser for OxCaml (github.com/avsm)" [ref=e185]: - - generic [ref=e186]: - - link "Httpz – Zero-Allocation HTTP/1.1 Parser for OxCaml" [ref=e187] [cursor=pointer]: - - /url: https://github.com/avsm/httpz - - generic [ref=e188]: - - text: ( - - link "github.com/avsm" [ref=e189] [cursor=pointer]: - - /url: from?site=github.com/avsm - - text: ) - - row "47 points by noelwelsh 6 hours ago | hide | 9 comments" [ref=e190]: - - cell [ref=e191] - - cell "47 points by noelwelsh 6 hours ago | hide | 9 comments" [ref=e192]: - - generic [ref=e193]: - - text: 47 points by - - link "noelwelsh" [ref=e194] [cursor=pointer]: - - /url: user?id=noelwelsh - - generic "2026-01-07T10:02:12 1767780132" [ref=e195]: - - link "6 hours ago" [ref=e196] [cursor=pointer]: - - /url: item?id=46524554 - - text: "|" - - link "hide" [ref=e197] [cursor=pointer]: - - /url: hide?id=46524554&goto=news - - text: "|" - - link "9 comments" [ref=e198] [cursor=pointer]: - - /url: item?id=46524554 - - row [ref=e199] - - row "9. UpCodes (YC S17) is hiring PMs, SWEs to automate construction compliance (up.codes)" [ref=e200]: - - cell "9." [ref=e201] - - cell [ref=e202]: - - img [ref=e203] - - cell "UpCodes (YC S17) is hiring PMs, SWEs to automate construction compliance (up.codes)" [ref=e204]: + - link "78 comments" [ref=e196] [cursor=pointer]: + - /url: item?id=46578701 + - row [ref=e197] + - row "9. upvote guys why does armenian completely break Claude (twitter.com/dyushag)" [ref=e198]: + - cell "9." [ref=e199] + - cell "upvote" [ref=e200]: + - link "upvote" [ref=e202] [cursor=pointer]: + - /url: vote?id=46579397&how=up&goto=news + - generic "upvote" [ref=e203] + - cell "guys why does armenian completely break Claude (twitter.com/dyushag)" [ref=e204]: - generic [ref=e205]: - - link "UpCodes (YC S17) is hiring PMs, SWEs to automate construction compliance" [ref=e206] [cursor=pointer]: - - /url: https://up.codes/careers?utm_source=HN + - link "guys why does armenian completely break Claude" [ref=e206] [cursor=pointer]: + - /url: https://twitter.com/dyushag/status/1993143599286886525 - generic [ref=e207]: - text: ( - - link "up.codes" [ref=e208] [cursor=pointer]: - - /url: from?site=up.codes + - link "twitter.com/dyushag" [ref=e208] [cursor=pointer]: + - /url: from?site=twitter.com/dyushag - text: ) - - row "1 hour ago | hide" [ref=e209]: + - row "46 points by ag8 1 hour ago | hide | 18 comments" [ref=e209]: - cell [ref=e210] - - cell "1 hour ago | hide" [ref=e211]: - - generic "2026-01-10T17:01:49 1768064509" [ref=e212]: - - link "1 hour ago" [ref=e213] [cursor=pointer]: - - /url: item?id=46567458 - - text: "|" - - link "hide" [ref=e214] [cursor=pointer]: - - /url: hide?id=46567458&goto=news - - row [ref=e215] - - 'row "10. upvote “Erdos problem #728 was solved more or less autonomously by AI” (mathstodon.xyz)" [ref=e216]': - - cell "10." [ref=e217] - - cell "upvote" [ref=e218]: - - link "upvote" [ref=e220] [cursor=pointer]: - - /url: vote?id=46560445&how=up&goto=news - - generic "upvote" [ref=e221] - - 'cell "“Erdos problem #728 was solved more or less autonomously by AI” (mathstodon.xyz)" [ref=e222]': - - generic [ref=e223]: - - 'link "“Erdos problem #728 was solved more or less autonomously by AI”" [ref=e224] [cursor=pointer]': - - /url: https://mathstodon.xyz/@tao/115855840223258103 - - generic [ref=e225]: + - cell "46 points by ag8 1 hour ago | hide | 18 comments" [ref=e211]: + - generic [ref=e212]: + - text: 46 points by + - link "ag8" [ref=e213] [cursor=pointer]: + - /url: user?id=ag8 + - generic "2026-01-11T20:03:20 1768161800" [ref=e214]: + - link "1 hour ago" [ref=e215] [cursor=pointer]: + - /url: item?id=46579397 + - text: "|" + - link "hide" [ref=e216] [cursor=pointer]: + - /url: hide?id=46579397&goto=news + - text: "|" + - link "18 comments" [ref=e217] [cursor=pointer]: + - /url: item?id=46579397 + - row [ref=e218] + - row "10. upvote Poison Fountain (rnsaffn.com)" [ref=e219]: + - cell "10." [ref=e220] + - cell "upvote" [ref=e221]: + - link "upvote" [ref=e223] [cursor=pointer]: + - /url: vote?id=46577464&how=up&goto=news + - generic "upvote" [ref=e224] + - cell "Poison Fountain (rnsaffn.com)" [ref=e225]: + - generic [ref=e226]: + - link "Poison Fountain" [ref=e227] [cursor=pointer]: + - /url: https://rnsaffn.com/poison3/ + - generic [ref=e228]: - text: ( - - link "mathstodon.xyz" [ref=e226] [cursor=pointer]: - - /url: from?site=mathstodon.xyz + - link "rnsaffn.com" [ref=e229] [cursor=pointer]: + - /url: from?site=rnsaffn.com - text: ) - - row "573 points by cod1r 19 hours ago | hide | 315 comments" [ref=e227]: - - cell [ref=e228] - - cell "573 points by cod1r 19 hours ago | hide | 315 comments" [ref=e229]: - - generic [ref=e230]: - - text: 573 points by - - link "cod1r" [ref=e231] [cursor=pointer]: - - /url: user?id=cod1r - - generic "2026-01-09T22:39:15 1767998355" [ref=e232]: - - link "19 hours ago" [ref=e233] [cursor=pointer]: - - /url: item?id=46560445 + - row "144 points by atomic128 4 hours ago | hide | 93 comments" [ref=e230]: + - cell [ref=e231] + - cell "144 points by atomic128 4 hours ago | hide | 93 comments" [ref=e232]: + - generic [ref=e233]: + - text: 144 points by + - link "atomic128" [ref=e234] [cursor=pointer]: + - /url: user?id=atomic128 + - generic "2026-01-11T17:05:52 1768151152" [ref=e235]: + - link "4 hours ago" [ref=e236] [cursor=pointer]: + - /url: item?id=46577464 - text: "|" - - link "hide" [ref=e234] [cursor=pointer]: - - /url: hide?id=46560445&goto=news + - link "hide" [ref=e237] [cursor=pointer]: + - /url: hide?id=46577464&goto=news - text: "|" - - link "315 comments" [ref=e235] [cursor=pointer]: - - /url: item?id=46560445 - - row [ref=e236] - - row "11. upvote Reverse Engineering the Epson FilmScan 200 for Classic Mac (ronangaillard.github.io)" [ref=e237]: - - cell "11." [ref=e238] - - cell "upvote" [ref=e239]: - - link "upvote" [ref=e241] [cursor=pointer]: - - /url: vote?id=46474065&how=up&goto=news - - generic "upvote" [ref=e242] - - cell "Reverse Engineering the Epson FilmScan 200 for Classic Mac (ronangaillard.github.io)" [ref=e243]: - - generic [ref=e244]: - - link "Reverse Engineering the Epson FilmScan 200 for Classic Mac" [ref=e245] [cursor=pointer]: - - /url: https://ronangaillard.github.io/posts/reverse-engineering-epson-filmscan-200/ - - generic [ref=e246]: + - link "93 comments" [ref=e238] [cursor=pointer]: + - /url: item?id=46577464 + - row [ref=e239] + - 'row "11. upvote Show HN: Epstein IM – Talk to Epstein clone in iMessage (epstein.im)" [ref=e240]': + - cell "11." [ref=e241] + - cell "upvote" [ref=e242]: + - link "upvote" [ref=e244] [cursor=pointer]: + - /url: vote?id=46571661&how=up&goto=news + - generic "upvote" [ref=e245] + - 'cell "Show HN: Epstein IM – Talk to Epstein clone in iMessage (epstein.im)" [ref=e246]': + - generic [ref=e247]: + - 'link "Show HN: Epstein IM – Talk to Epstein clone in iMessage" [ref=e248] [cursor=pointer]': + - /url: https://epstein.im/ + - generic [ref=e249]: - text: ( - - link "ronangaillard.github.io" [ref=e247] [cursor=pointer]: - - /url: from?site=ronangaillard.github.io + - link "epstein.im" [ref=e250] [cursor=pointer]: + - /url: from?site=epstein.im - text: ) - - row "60 points by j_leboulanger 7 hours ago | hide | 5 comments" [ref=e248]: - - cell [ref=e249] - - cell "60 points by j_leboulanger 7 hours ago | hide | 5 comments" [ref=e250]: - - generic [ref=e251]: - - text: 60 points by - - link "j_leboulanger" [ref=e252] [cursor=pointer]: - - /url: user?id=j_leboulanger - - generic "2026-01-03T08:26:52 1767428812" [ref=e253]: - - link "7 hours ago" [ref=e254] [cursor=pointer]: - - /url: item?id=46474065 + - row "24 points by RyanZhuuuu 2 hours ago | hide | 29 comments" [ref=e251]: + - cell [ref=e252] + - cell "24 points by RyanZhuuuu 2 hours ago | hide | 29 comments" [ref=e253]: + - generic [ref=e254]: + - text: 24 points by + - link "RyanZhuuuu" [ref=e255] [cursor=pointer]: + - /url: user?id=RyanZhuuuu + - generic "2026-01-11T00:58:35 1768093115" [ref=e256]: + - link "2 hours ago" [ref=e257] [cursor=pointer]: + - /url: item?id=46571661 - text: "|" - - link "hide" [ref=e255] [cursor=pointer]: - - /url: hide?id=46474065&goto=news + - link "hide" [ref=e258] [cursor=pointer]: + - /url: hide?id=46571661&goto=news - text: "|" - - link "5 comments" [ref=e256] [cursor=pointer]: - - /url: item?id=46474065 - - row [ref=e257] - - row "12. upvote Creating Embroidered Charts with R and ImageMagick (aman.bh)" [ref=e258]: - - cell "12." [ref=e259] - - cell "upvote" [ref=e260]: - - link "upvote" [ref=e262] [cursor=pointer]: - - /url: vote?id=46512743&how=up&goto=news - - generic "upvote" [ref=e263] - - cell "Creating Embroidered Charts with R and ImageMagick (aman.bh)" [ref=e264]: - - generic [ref=e265]: - - link "Creating Embroidered Charts with R and ImageMagick" [ref=e266] [cursor=pointer]: - - /url: https://aman.bh/blog/2025/creating-embroidered-charts-with-r-and-imagemagick - - generic [ref=e267]: + - link "29 comments" [ref=e259] [cursor=pointer]: + - /url: item?id=46571661 + - row [ref=e260] + - row "12. upvote I'm making a game engine based on dynamic signed distance fields (SDFs) [video] (youtube.com)" [ref=e261]: + - cell "12." [ref=e262] + - cell "upvote" [ref=e263]: + - link "upvote" [ref=e265] [cursor=pointer]: + - /url: vote?id=46539478&how=up&goto=news + - generic "upvote" [ref=e266] + - cell "I'm making a game engine based on dynamic signed distance fields (SDFs) [video] (youtube.com)" [ref=e267]: + - generic [ref=e268]: + - link "I'm making a game engine based on dynamic signed distance fields (SDFs) [video]" [ref=e269] [cursor=pointer]: + - /url: https://www.youtube.com/watch?v=il-TXbn5iMA + - generic [ref=e270]: - text: ( - - link "aman.bh" [ref=e268] [cursor=pointer]: - - /url: from?site=aman.bh + - link "youtube.com" [ref=e271] [cursor=pointer]: + - /url: from?site=youtube.com - text: ) - - row "57 points by speckx 8 hours ago | hide | 3 comments" [ref=e269]: - - cell [ref=e270] - - cell "57 points by speckx 8 hours ago | hide | 3 comments" [ref=e271]: - - generic [ref=e272]: - - text: 57 points by - - link "speckx" [ref=e273] [cursor=pointer]: - - /url: user?id=speckx - - generic "2026-01-06T14:33:30 1767710010" [ref=e274]: - - link "8 hours ago" [ref=e275] [cursor=pointer]: - - /url: item?id=46512743 + - row "52 points by imagiro 2 hours ago | hide | 6 comments" [ref=e272]: + - cell [ref=e273] + - cell "52 points by imagiro 2 hours ago | hide | 6 comments" [ref=e274]: + - generic [ref=e275]: + - text: 52 points by + - link "imagiro" [ref=e276] [cursor=pointer]: + - /url: user?id=imagiro + - generic "2026-01-08T10:34:05 1767868445" [ref=e277]: + - link "2 hours ago" [ref=e278] [cursor=pointer]: + - /url: item?id=46539478 - text: "|" - - link "hide" [ref=e276] [cursor=pointer]: - - /url: hide?id=46512743&goto=news + - link "hide" [ref=e279] [cursor=pointer]: + - /url: hide?id=46539478&goto=news - text: "|" - - link "3 comments" [ref=e277] [cursor=pointer]: - - /url: item?id=46512743 - - row [ref=e278] - - row "13. upvote Microsoft May Have Created the Slowest Windows in 25 Years with Windows 11 (eteknix.com)" [ref=e279]: - - cell "13." [ref=e280] - - cell "upvote" [ref=e281]: - - link "upvote" [ref=e283] [cursor=pointer]: - - /url: vote?id=46567138&how=up&goto=news - - generic "upvote" [ref=e284] - - cell "Microsoft May Have Created the Slowest Windows in 25 Years with Windows 11 (eteknix.com)" [ref=e285]: - - generic [ref=e286]: - - link "Microsoft May Have Created the Slowest Windows in 25 Years with Windows 11" [ref=e287] [cursor=pointer]: - - /url: https://www.eteknix.com/microsoft-may-have-created-the-slowest-windows-in-25-years-with-windows-11/ - - generic [ref=e288]: + - link "6 comments" [ref=e280] [cursor=pointer]: + - /url: item?id=46539478 + - row [ref=e281] + - row "13. upvote Meta announces nuclear energy projects (fb.com)" [ref=e282]: + - cell "13." [ref=e283] + - cell "upvote" [ref=e284]: + - link "upvote" [ref=e286] [cursor=pointer]: + - /url: vote?id=46578497&how=up&goto=news + - generic "upvote" [ref=e287] + - cell "Meta announces nuclear energy projects (fb.com)" [ref=e288]: + - generic [ref=e289]: + - link "Meta announces nuclear energy projects" [ref=e290] [cursor=pointer]: + - /url: https://about.fb.com/news/2026/01/meta-nuclear-energy-projects-power-american-ai-leadership/ + - generic [ref=e291]: - text: ( - - link "eteknix.com" [ref=e289] [cursor=pointer]: - - /url: from?site=eteknix.com + - link "fb.com" [ref=e292] [cursor=pointer]: + - /url: from?site=fb.com - text: ) - - row "175 points by nabla9 1 hour ago | hide | 172 comments" [ref=e290]: - - cell [ref=e291] - - cell "175 points by nabla9 1 hour ago | hide | 172 comments" [ref=e292]: - - generic [ref=e293]: - - text: 175 points by - - link "nabla9" [ref=e294] [cursor=pointer]: - - /url: user?id=nabla9 - - generic "2026-01-10T16:36:56 1768063016" [ref=e295]: - - link "1 hour ago" [ref=e296] [cursor=pointer]: - - /url: item?id=46567138 + - row "177 points by ChrisArchitect 2 hours ago | hide | 192 comments" [ref=e293]: + - cell [ref=e294] + - cell "177 points by ChrisArchitect 2 hours ago | hide | 192 comments" [ref=e295]: + - generic [ref=e296]: + - text: 177 points by + - link "ChrisArchitect" [ref=e297] [cursor=pointer]: + - /url: user?id=ChrisArchitect + - generic "2026-01-11T18:49:32 1768157372" [ref=e298]: + - link "2 hours ago" [ref=e299] [cursor=pointer]: + - /url: item?id=46578497 - text: "|" - - link "hide" [ref=e297] [cursor=pointer]: - - /url: hide?id=46567138&goto=news + - link "hide" [ref=e300] [cursor=pointer]: + - /url: hide?id=46578497&goto=news - text: "|" - - link "172 comments" [ref=e298] [cursor=pointer]: - - /url: item?id=46567138 - - row [ref=e299] - - row "14. upvote Org Mode Syntax Is One of the Most Reasonable Markup Languages to Use for Text (karl-voit.at)" [ref=e300]: - - cell "14." [ref=e301] - - cell "upvote" [ref=e302]: - - link "upvote" [ref=e304] [cursor=pointer]: - - /url: vote?id=46564116&how=up&goto=news - - generic "upvote" [ref=e305] - - cell "Org Mode Syntax Is One of the Most Reasonable Markup Languages to Use for Text (karl-voit.at)" [ref=e306]: - - generic [ref=e307]: - - link "Org Mode Syntax Is One of the Most Reasonable Markup Languages to Use for Text" [ref=e308] [cursor=pointer]: - - /url: https://karl-voit.at/2017/09/23/orgmode-as-markup-only/ - - generic [ref=e309]: + - link "192 comments" [ref=e301] [cursor=pointer]: + - /url: item?id=46578497 + - row [ref=e302] + - row "14. upvote BYD's cheapest electric cars to have Lidar self-driving tech (thedriven.io)" [ref=e303]: + - cell "14." [ref=e304] + - cell "upvote" [ref=e305]: + - link "upvote" [ref=e307] [cursor=pointer]: + - /url: vote?id=46579927&how=up&goto=news + - generic "upvote" [ref=e308] + - cell "BYD's cheapest electric cars to have Lidar self-driving tech (thedriven.io)" [ref=e309]: + - generic [ref=e310]: + - link "BYD's cheapest electric cars to have Lidar self-driving tech" [ref=e311] [cursor=pointer]: + - /url: https://thedriven.io/2026/01/11/byds-cheapest-electric-cars-to-have-lidar-self-driving-tech/ + - generic [ref=e312]: - text: ( - - link "karl-voit.at" [ref=e310] [cursor=pointer]: - - /url: from?site=karl-voit.at + - link "thedriven.io" [ref=e313] [cursor=pointer]: + - /url: from?site=thedriven.io - text: ) - - row "154 points by adityaathalye 9 hours ago | hide | 112 comments" [ref=e311]: - - cell [ref=e312] - - cell "154 points by adityaathalye 9 hours ago | hide | 112 comments" [ref=e313]: - - generic [ref=e314]: - - text: 154 points by - - link "adityaathalye" [ref=e315] [cursor=pointer]: - - /url: user?id=adityaathalye - - generic "2026-01-10T09:15:30 1768036530" [ref=e316]: - - link "9 hours ago" [ref=e317] [cursor=pointer]: - - /url: item?id=46564116 + - row "20 points by senti_sentient 35 minutes ago | hide | 15 comments" [ref=e314]: + - cell [ref=e315] + - cell "20 points by senti_sentient 35 minutes ago | hide | 15 comments" [ref=e316]: + - generic [ref=e317]: + - text: 20 points by + - link "senti_sentient" [ref=e318] [cursor=pointer]: + - /url: user?id=senti_sentient + - generic "2026-01-11T20:52:44 1768164764" [ref=e319]: + - link "35 minutes ago" [ref=e320] [cursor=pointer]: + - /url: item?id=46579927 - text: "|" - - link "hide" [ref=e318] [cursor=pointer]: - - /url: hide?id=46564116&goto=news + - link "hide" [ref=e321] [cursor=pointer]: + - /url: hide?id=46579927&goto=news - text: "|" - - link "112 comments" [ref=e319] [cursor=pointer]: - - /url: item?id=46564116 - - row [ref=e320] - - row "15. upvote Time Travelling and Fixing Bugs with Property-Based Testing (2019) (wickstrom.tech)" [ref=e321]: - - cell "15." [ref=e322] - - cell "upvote" [ref=e323]: - - link "upvote" [ref=e325] [cursor=pointer]: - - /url: vote?id=46508956&how=up&goto=news - - generic "upvote" [ref=e326] - - cell "Time Travelling and Fixing Bugs with Property-Based Testing (2019) (wickstrom.tech)" [ref=e327]: - - generic [ref=e328]: - - link "Time Travelling and Fixing Bugs with Property-Based Testing (2019)" [ref=e329] [cursor=pointer]: - - /url: https://wickstrom.tech/2019-11-17-time-travelling-and-fixing-bugs-with-property-based-testing.html - - generic [ref=e330]: + - link "15 comments" [ref=e322] [cursor=pointer]: + - /url: item?id=46579927 + - row [ref=e323] + - row "15. upvote \"Food JPEGs\" in Super Smash Bros. & Kirby Air Riders (sethmlarson.dev)" [ref=e324]: + - cell "15." [ref=e325] + - cell "upvote" [ref=e326]: + - link "upvote" [ref=e328] [cursor=pointer]: + - /url: vote?id=46516807&how=up&goto=news + - generic "upvote" [ref=e329] + - cell "\"Food JPEGs\" in Super Smash Bros. & Kirby Air Riders (sethmlarson.dev)" [ref=e330]: + - generic [ref=e331]: + - link "\"Food JPEGs\" in Super Smash Bros. & Kirby Air Riders" [ref=e332] [cursor=pointer]: + - /url: https://sethmlarson.dev/food-jpegs-in-super-smash-bros-and-kirby-air-riders + - generic [ref=e333]: - text: ( - - link "wickstrom.tech" [ref=e331] [cursor=pointer]: - - /url: from?site=wickstrom.tech + - link "sethmlarson.dev" [ref=e334] [cursor=pointer]: + - /url: from?site=sethmlarson.dev - text: ) - - row "10 points by todsacerdoti 3 hours ago | hide | discuss" [ref=e332]: - - cell [ref=e333] - - cell "10 points by todsacerdoti 3 hours ago | hide | discuss" [ref=e334]: - - generic [ref=e335]: - - text: 10 points by - - link "todsacerdoti" [ref=e336] [cursor=pointer]: - - /url: user?id=todsacerdoti - - generic "2026-01-06T05:07:20 1767676040" [ref=e337]: - - link "3 hours ago" [ref=e338] [cursor=pointer]: - - /url: item?id=46508956 + - row "240 points by SethMLarson 11 hours ago | hide | 56 comments" [ref=e335]: + - cell [ref=e336] + - cell "240 points by SethMLarson 11 hours ago | hide | 56 comments" [ref=e337]: + - generic [ref=e338]: + - text: 240 points by + - link "SethMLarson" [ref=e339] [cursor=pointer]: + - /url: user?id=SethMLarson + - generic "2026-01-06T18:57:03 1767725823" [ref=e340]: + - link "11 hours ago" [ref=e341] [cursor=pointer]: + - /url: item?id=46516807 - text: "|" - - link "hide" [ref=e339] [cursor=pointer]: - - /url: hide?id=46508956&goto=news + - link "hide" [ref=e342] [cursor=pointer]: + - /url: hide?id=46516807&goto=news - text: "|" - - link "discuss" [ref=e340] [cursor=pointer]: - - /url: item?id=46508956 - - row [ref=e341] - - row "16. upvote Greenland sharks maintain vision for centuries through DNA repair mechanism (phys.org)" [ref=e342]: - - cell "16." [ref=e343] - - cell "upvote" [ref=e344]: - - link "upvote" [ref=e346] [cursor=pointer]: - - /url: vote?id=46511555&how=up&goto=news - - generic "upvote" [ref=e347] - - cell "Greenland sharks maintain vision for centuries through DNA repair mechanism (phys.org)" [ref=e348]: - - generic [ref=e349]: - - link "Greenland sharks maintain vision for centuries through DNA repair mechanism" [ref=e350] [cursor=pointer]: - - /url: https://phys.org/news/2026-01-eye-greenland-sharks-vision-centuries.html - - generic [ref=e351]: + - link "56 comments" [ref=e343] [cursor=pointer]: + - /url: item?id=46516807 + - row [ref=e344] + - row "16. upvote DHS restricts congressional visits to ICE facilities in Minneapolis (npr.org)" [ref=e345]: + - cell "16." [ref=e346] + - cell "upvote" [ref=e347]: + - link "upvote" [ref=e349] [cursor=pointer]: + - /url: vote?id=46579764&how=up&goto=news + - generic "upvote" [ref=e350] + - cell "DHS restricts congressional visits to ICE facilities in Minneapolis (npr.org)" [ref=e351]: + - generic [ref=e352]: + - link "DHS restricts congressional visits to ICE facilities in Minneapolis" [ref=e353] [cursor=pointer]: + - /url: https://www.npr.org/2026/01/11/nx-s1-5673949/dhs-restricts-congressional-visits-to-ice-facilities-in-minneapolis-with-new-policy + - generic [ref=e354]: - text: ( - - link "phys.org" [ref=e352] [cursor=pointer]: - - /url: from?site=phys.org + - link "npr.org" [ref=e355] [cursor=pointer]: + - /url: from?site=npr.org - text: ) - - row "215 points by pseudolus 19 hours ago | hide | 86 comments" [ref=e353]: - - cell [ref=e354] - - cell "215 points by pseudolus 19 hours ago | hide | 86 comments" [ref=e355]: - - generic [ref=e356]: - - text: 215 points by - - link "pseudolus" [ref=e357] [cursor=pointer]: - - /url: user?id=pseudolus - - generic "2026-01-06T12:44:52 1767703492" [ref=e358]: - - link "19 hours ago" [ref=e359] [cursor=pointer]: - - /url: item?id=46511555 + - row "22 points by mickle00 48 minutes ago | hide | discuss" [ref=e356]: + - cell [ref=e357] + - cell "22 points by mickle00 48 minutes ago | hide | discuss" [ref=e358]: + - generic [ref=e359]: + - text: 22 points by + - link "mickle00" [ref=e360] [cursor=pointer]: + - /url: user?id=mickle00 + - generic "2026-01-11T20:39:37 1768163977" [ref=e361]: + - link "48 minutes ago" [ref=e362] [cursor=pointer]: + - /url: item?id=46579764 - text: "|" - - link "hide" [ref=e360] [cursor=pointer]: - - /url: hide?id=46511555&goto=news + - link "hide" [ref=e363] [cursor=pointer]: + - /url: hide?id=46579764&goto=news - text: "|" - - link "86 comments" [ref=e361] [cursor=pointer]: - - /url: item?id=46511555 - - row [ref=e362] - - 'row "17. upvote Show HN: Yuanzai World – LLM RPGs with branching world-lines (yuanzai.world)" [ref=e363]': - - cell "17." [ref=e364] - - cell "upvote" [ref=e365]: - - link "upvote" [ref=e367] [cursor=pointer]: - - /url: vote?id=46565265&how=up&goto=news - - generic "upvote" [ref=e368] - - 'cell "Show HN: Yuanzai World – LLM RPGs with branching world-lines (yuanzai.world)" [ref=e369]': - - generic [ref=e370]: - - 'link "Show HN: Yuanzai World – LLM RPGs with branching world-lines" [ref=e371] [cursor=pointer]': - - /url: https://www.yuanzai.world/ - - generic [ref=e372]: + - link "discuss" [ref=e364] [cursor=pointer]: + - /url: item?id=46579764 + - row [ref=e365] + - row "17. upvote Perfectly Replicating Coca Cola [video] (youtube.com)" [ref=e366]: + - cell "17." [ref=e367] + - cell "upvote" [ref=e368]: + - link "upvote" [ref=e370] [cursor=pointer]: + - /url: vote?id=46543509&how=up&goto=news + - generic "upvote" [ref=e371] + - cell "Perfectly Replicating Coca Cola [video] (youtube.com)" [ref=e372]: + - generic [ref=e373]: + - link "Perfectly Replicating Coca Cola [video]" [ref=e374] [cursor=pointer]: + - /url: https://www.youtube.com/watch?v=TDkH3EbWTYc + - generic [ref=e375]: - text: ( - - link "yuanzai.world" [ref=e373] [cursor=pointer]: - - /url: from?site=yuanzai.world + - link "youtube.com" [ref=e376] [cursor=pointer]: + - /url: from?site=youtube.com - text: ) - - row "18 points by yuanzaiworld 5 hours ago | hide | 1 comment" [ref=e374]: - - cell [ref=e375] - - cell "18 points by yuanzaiworld 5 hours ago | hide | 1 comment" [ref=e376]: - - generic [ref=e377]: - - text: 18 points by - - link "yuanzaiworld" [ref=e378] [cursor=pointer]: - - /url: user?id=yuanzaiworld - - generic "2026-01-10T12:48:13 1768049293" [ref=e379]: - - link "5 hours ago" [ref=e380] [cursor=pointer]: - - /url: item?id=46565265 + - row "68 points by HansVanEijsden 4 hours ago | hide | 25 comments" [ref=e377]: + - cell [ref=e378] + - cell "68 points by HansVanEijsden 4 hours ago | hide | 25 comments" [ref=e379]: + - generic [ref=e380]: + - text: 68 points by + - link "HansVanEijsden" [ref=e381] [cursor=pointer]: + - /url: user?id=HansVanEijsden + - generic "2026-01-08T17:09:55 1767892195" [ref=e382]: + - link "4 hours ago" [ref=e383] [cursor=pointer]: + - /url: item?id=46543509 - text: "|" - - link "hide" [ref=e381] [cursor=pointer]: - - /url: hide?id=46565265&goto=news + - link "hide" [ref=e384] [cursor=pointer]: + - /url: hide?id=46543509&goto=news - text: "|" - - link "1 comment" [ref=e382] [cursor=pointer]: - - /url: item?id=46565265 - - row [ref=e383] - - row "18. upvote JavaScript Demos in 140 Characters (dwitter.net)" [ref=e384]: - - cell "18." [ref=e385] - - cell "upvote" [ref=e386]: - - link "upvote" [ref=e388] [cursor=pointer]: - - /url: vote?id=46557489&how=up&goto=news - - generic "upvote" [ref=e389] - - cell "JavaScript Demos in 140 Characters (dwitter.net)" [ref=e390]: - - generic [ref=e391]: - - link "JavaScript Demos in 140 Characters" [ref=e392] [cursor=pointer]: - - /url: https://beta.dwitter.net - - generic [ref=e393]: + - link "25 comments" [ref=e385] [cursor=pointer]: + - /url: item?id=46543509 + - row [ref=e386] + - row "18. upvote I dumped Windows 11 for Linux, and you should too (notebookcheck.net)" [ref=e387]: + - cell "18." [ref=e388] + - cell "upvote" [ref=e389]: + - link "upvote" [ref=e391] [cursor=pointer]: + - /url: vote?id=46574707&how=up&goto=news + - generic "upvote" [ref=e392] + - cell "I dumped Windows 11 for Linux, and you should too (notebookcheck.net)" [ref=e393]: + - generic [ref=e394]: + - link "I dumped Windows 11 for Linux, and you should too" [ref=e395] [cursor=pointer]: + - /url: https://www.notebookcheck.net/I-dumped-Windows-11-for-Linux-and-you-should-too.1190961.0.html + - generic [ref=e396]: - text: ( - - link "dwitter.net" [ref=e394] [cursor=pointer]: - - /url: from?site=dwitter.net + - link "notebookcheck.net" [ref=e397] [cursor=pointer]: + - /url: from?site=notebookcheck.net - text: ) - - row "314 points by themanmaran 23 hours ago | hide | 56 comments" [ref=e395]: - - cell [ref=e396] - - cell "314 points by themanmaran 23 hours ago | hide | 56 comments" [ref=e397]: - - generic [ref=e398]: - - text: 314 points by - - link "themanmaran" [ref=e399] [cursor=pointer]: - - /url: user?id=themanmaran - - generic "2026-01-09T18:48:30 1767984510" [ref=e400]: - - link "23 hours ago" [ref=e401] [cursor=pointer]: - - /url: item?id=46557489 + - row "626 points by smurda 9 hours ago | hide | 633 comments" [ref=e398]: + - cell [ref=e399] + - cell "626 points by smurda 9 hours ago | hide | 633 comments" [ref=e400]: + - generic [ref=e401]: + - text: 626 points by + - link "smurda" [ref=e402] [cursor=pointer]: + - /url: user?id=smurda + - generic "2026-01-11T11:31:22 1768131082" [ref=e403]: + - link "9 hours ago" [ref=e404] [cursor=pointer]: + - /url: item?id=46574707 - text: "|" - - link "hide" [ref=e402] [cursor=pointer]: - - /url: hide?id=46557489&goto=news + - link "hide" [ref=e405] [cursor=pointer]: + - /url: hide?id=46574707&goto=news - text: "|" - - link "56 comments" [ref=e403] [cursor=pointer]: - - /url: item?id=46557489 - - row [ref=e404] - - row "19. upvote Changes to Android Open Source Project (android.com)" [ref=e405]: - - cell "19." [ref=e406] - - cell "upvote" [ref=e407]: - - link "upvote" [ref=e409] [cursor=pointer]: - - /url: vote?id=46524379&how=up&goto=news - - generic "upvote" [ref=e410] - - cell "Changes to Android Open Source Project (android.com)" [ref=e411]: - - generic [ref=e412]: - - link "Changes to Android Open Source Project" [ref=e413] [cursor=pointer]: - - /url: https://source.android.com/ - - generic [ref=e414]: + - link "633 comments" [ref=e406] [cursor=pointer]: + - /url: item?id=46574707 + - row [ref=e407] + - row "19. upvote Happy 50th Birthday KIM-1 (github.com/netzherpes)" [ref=e408]: + - cell "19." [ref=e409] + - cell "upvote" [ref=e410]: + - link "upvote" [ref=e412] [cursor=pointer]: + - /url: vote?id=46575804&how=up&goto=news + - generic "upvote" [ref=e413] + - cell "Happy 50th Birthday KIM-1 (github.com/netzherpes)" [ref=e414]: + - generic [ref=e415]: + - link "Happy 50th Birthday KIM-1" [ref=e416] [cursor=pointer]: + - /url: https://github.com/netzherpes/KIM1-Demo + - generic [ref=e417]: - text: ( - - link "android.com" [ref=e415] [cursor=pointer]: - - /url: from?site=android.com + - link "github.com/netzherpes" [ref=e418] [cursor=pointer]: + - /url: from?site=github.com/netzherpes - text: ) - - row "249 points by TechTechTech 15 hours ago | hide | 166 comments" [ref=e416]: - - cell [ref=e417] - - cell "249 points by TechTechTech 15 hours ago | hide | 166 comments" [ref=e418]: - - generic [ref=e419]: - - text: 249 points by - - link "TechTechTech" [ref=e420] [cursor=pointer]: - - /url: user?id=TechTechTech - - generic "2026-01-07T09:35:46 1767778546" [ref=e421]: - - link "15 hours ago" [ref=e422] [cursor=pointer]: - - /url: item?id=46524379 + - row "65 points by JKCalhoun 7 hours ago | hide | 20 comments" [ref=e419]: + - cell [ref=e420] + - cell "65 points by JKCalhoun 7 hours ago | hide | 20 comments" [ref=e421]: + - generic [ref=e422]: + - text: 65 points by + - link "JKCalhoun" [ref=e423] [cursor=pointer]: + - /url: user?id=JKCalhoun + - generic "2026-01-11T13:55:40 1768139740" [ref=e424]: + - link "7 hours ago" [ref=e425] [cursor=pointer]: + - /url: item?id=46575804 - text: "|" - - link "hide" [ref=e423] [cursor=pointer]: - - /url: hide?id=46524379&goto=news + - link "hide" [ref=e426] [cursor=pointer]: + - /url: hide?id=46575804&goto=news - text: "|" - - link "166 comments" [ref=e424] [cursor=pointer]: - - /url: item?id=46524379 - - row [ref=e425] - - row "20. upvote Start your meetings at 5 minutes past (philipotoole.com)" [ref=e426]: - - cell "20." [ref=e427] - - cell "upvote" [ref=e428]: - - link "upvote" [ref=e430] [cursor=pointer]: - - /url: vote?id=46560217&how=up&goto=news - - generic "upvote" [ref=e431] - - cell "Start your meetings at 5 minutes past (philipotoole.com)" [ref=e432]: - - generic [ref=e433]: - - link "Start your meetings at 5 minutes past" [ref=e434] [cursor=pointer]: - - /url: https://philipotoole.com/start-your-meetings-at-5-minutes-past/ - - generic [ref=e435]: + - link "20 comments" [ref=e427] [cursor=pointer]: + - /url: item?id=46575804 + - row [ref=e428] + - row "20. upvote Quake 1 Single-Player Map Design Theories (2001) (quaddicted.com)" [ref=e429]: + - cell "20." [ref=e430] + - cell "upvote" [ref=e431]: + - link "upvote" [ref=e433] [cursor=pointer]: + - /url: vote?id=46572968&how=up&goto=news + - generic "upvote" [ref=e434] + - cell "Quake 1 Single-Player Map Design Theories (2001) (quaddicted.com)" [ref=e435]: + - generic [ref=e436]: + - link "Quake 1 Single-Player Map Design Theories (2001)" [ref=e437] [cursor=pointer]: + - /url: https://www.quaddicted.com/webarchive//teamshambler.planetquake.gamespy.com/theories1.html + - generic [ref=e438]: - text: ( - - link "philipotoole.com" [ref=e436] [cursor=pointer]: - - /url: from?site=philipotoole.com + - link "quaddicted.com" [ref=e439] [cursor=pointer]: + - /url: from?site=quaddicted.com - text: ) - - row "231 points by otoolep 20 hours ago | hide | 200 comments" [ref=e437]: - - cell [ref=e438] - - cell "231 points by otoolep 20 hours ago | hide | 200 comments" [ref=e439]: - - generic [ref=e440]: - - text: 231 points by - - link "otoolep" [ref=e441] [cursor=pointer]: - - /url: user?id=otoolep - - generic "2026-01-09T22:19:03 1767997143" [ref=e442]: - - link "20 hours ago" [ref=e443] [cursor=pointer]: - - /url: item?id=46560217 + - row "19 points by Lammy 2 hours ago | hide | 1 comment" [ref=e440]: + - cell [ref=e441] + - cell "19 points by Lammy 2 hours ago | hide | 1 comment" [ref=e442]: + - generic [ref=e443]: + - text: 19 points by + - link "Lammy" [ref=e444] [cursor=pointer]: + - /url: user?id=Lammy + - generic "2026-01-11T05:33:20 1768109600" [ref=e445]: + - link "2 hours ago" [ref=e446] [cursor=pointer]: + - /url: item?id=46572968 - text: "|" - - link "hide" [ref=e444] [cursor=pointer]: - - /url: hide?id=46560217&goto=news + - link "hide" [ref=e447] [cursor=pointer]: + - /url: hide?id=46572968&goto=news - text: "|" - - link "200 comments" [ref=e445] [cursor=pointer]: - - /url: item?id=46560217 - - row [ref=e446] - - 'row "21. upvote Ask HN: What''s a standard way for apps to request text completion as a service?" [ref=e447]': - - cell "21." [ref=e448] - - cell "upvote" [ref=e449]: - - link "upvote" [ref=e451] [cursor=pointer]: - - /url: vote?id=46506261&how=up&goto=news - - generic "upvote" [ref=e452] - - 'cell "Ask HN: What''s a standard way for apps to request text completion as a service?" [ref=e453]': - - 'link "Ask HN: What''s a standard way for apps to request text completion as a service?" [ref=e455] [cursor=pointer]': - - /url: item?id=46506261 - - row "44 points by nvader 9 hours ago | hide | 20 comments" [ref=e456]: - - cell [ref=e457] - - cell "44 points by nvader 9 hours ago | hide | 20 comments" [ref=e458]: - - generic [ref=e459]: - - text: 44 points by - - link "nvader" [ref=e460] [cursor=pointer]: - - /url: user?id=nvader - - generic "2026-01-05T22:51:14 1767653474" [ref=e461]: - - link "9 hours ago" [ref=e462] [cursor=pointer]: - - /url: item?id=46506261 - - text: "|" - - link "hide" [ref=e463] [cursor=pointer]: - - /url: hide?id=46506261&goto=news - - text: "|" - - link "20 comments" [ref=e464] [cursor=pointer]: - - /url: item?id=46506261 - - row [ref=e465] - - row "22. upvote How Markdown took over the world (anildash.com)" [ref=e466]: - - cell "22." [ref=e467] - - cell "upvote" [ref=e468]: - - link "upvote" [ref=e470] [cursor=pointer]: - - /url: vote?id=46556695&how=up&goto=news - - generic "upvote" [ref=e471] - - cell "How Markdown took over the world (anildash.com)" [ref=e472]: - - generic [ref=e473]: - - link "How Markdown took over the world" [ref=e474] [cursor=pointer]: - - /url: https://www.anildash.com/2026/01/09/how-markdown-took-over-the-world/ - - generic [ref=e475]: + - link "1 comment" [ref=e448] [cursor=pointer]: + - /url: item?id=46572968 + - row [ref=e449] + - 'row "21. upvote C++ std::move doesn''t move anything: A deep dive into Value Categories (0xghost.dev)" [ref=e450]': + - cell "21." [ref=e451] + - cell "upvote" [ref=e452]: + - link "upvote" [ref=e454] [cursor=pointer]: + - /url: vote?id=46551602&how=up&goto=news + - generic "upvote" [ref=e455] + - 'cell "C++ std::move doesn''t move anything: A deep dive into Value Categories (0xghost.dev)" [ref=e456]': + - generic [ref=e457]: + - 'link "C++ std::move doesn''t move anything: A deep dive into Value Categories" [ref=e458] [cursor=pointer]': + - /url: https://0xghost.dev/blog/std-move-deep-dive/ + - generic [ref=e459]: - text: ( - - link "anildash.com" [ref=e476] [cursor=pointer]: - - /url: from?site=anildash.com + - link "0xghost.dev" [ref=e460] [cursor=pointer]: + - /url: from?site=0xghost.dev - text: ) - - row "379 points by zdw 1 day ago | hide | 282 comments" [ref=e477]: - - cell [ref=e478] - - cell "379 points by zdw 1 day ago | hide | 282 comments" [ref=e479]: - - generic [ref=e480]: - - text: 379 points by - - link "zdw" [ref=e481] [cursor=pointer]: - - /url: user?id=zdw - - generic "2026-01-09T17:52:20 1767981140" [ref=e482]: - - link "1 day ago" [ref=e483] [cursor=pointer]: - - /url: item?id=46556695 + - row "213 points by signa11 14 hours ago | hide | 167 comments" [ref=e461]: + - cell [ref=e462] + - cell "213 points by signa11 14 hours ago | hide | 167 comments" [ref=e463]: + - generic [ref=e464]: + - text: 213 points by + - link "signa11" [ref=e465] [cursor=pointer]: + - /url: user?id=signa11 + - generic "2026-01-09T09:01:33 1767949293" [ref=e466]: + - link "14 hours ago" [ref=e467] [cursor=pointer]: + - /url: item?id=46551602 - text: "|" - - link "hide" [ref=e484] [cursor=pointer]: - - /url: hide?id=46556695&goto=news + - link "hide" [ref=e468] [cursor=pointer]: + - /url: hide?id=46551602&goto=news - text: "|" - - link "282 comments" [ref=e485] [cursor=pointer]: - - /url: item?id=46556695 - - row [ref=e486] - - 'row "23. upvote Alien: Braun Aromaster KF 20 Coffee Makers (2012) (alienexplorations.blogspot.com)" [ref=e487]': - - cell "23." [ref=e488] - - cell "upvote" [ref=e489]: - - link "upvote" [ref=e491] [cursor=pointer]: - - /url: vote?id=46473897&how=up&goto=news - - generic "upvote" [ref=e492] - - 'cell "Alien: Braun Aromaster KF 20 Coffee Makers (2012) (alienexplorations.blogspot.com)" [ref=e493]': - - generic [ref=e494]: - - 'link "Alien: Braun Aromaster KF 20 Coffee Makers (2012)" [ref=e495] [cursor=pointer]': - - /url: http://alienexplorations.blogspot.com/1979/05/kf-20-coffee-making-machine.html - - generic [ref=e496]: + - link "167 comments" [ref=e469] [cursor=pointer]: + - /url: item?id=46551602 + - row [ref=e470] + - row "22. upvote BasiliskII Macintosh 68k Emulator Ported to ESP32-P4 / M5Stack Tab5 (github.com/amcchord)" [ref=e471]: + - cell "22." [ref=e472] + - cell "upvote" [ref=e473]: + - link "upvote" [ref=e475] [cursor=pointer]: + - /url: vote?id=46574961&how=up&goto=news + - generic "upvote" [ref=e476] + - cell "BasiliskII Macintosh 68k Emulator Ported to ESP32-P4 / M5Stack Tab5 (github.com/amcchord)" [ref=e477]: + - generic [ref=e478]: + - link "BasiliskII Macintosh 68k Emulator Ported to ESP32-P4 / M5Stack Tab5" [ref=e479] [cursor=pointer]: + - /url: https://github.com/amcchord/M5Tab-Macintosh + - generic [ref=e480]: - text: ( - - link "alienexplorations.blogspot.com" [ref=e497] [cursor=pointer]: - - /url: from?site=alienexplorations.blogspot.com + - link "github.com/amcchord" [ref=e481] [cursor=pointer]: + - /url: from?site=github.com/amcchord - text: ) - - row "82 points by exvi 14 hours ago | hide | 25 comments" [ref=e498]: - - cell [ref=e499] - - cell "82 points by exvi 14 hours ago | hide | 25 comments" [ref=e500]: - - generic [ref=e501]: - - text: 82 points by - - link "exvi" [ref=e502] [cursor=pointer]: - - /url: user?id=exvi - - generic "2026-01-03T08:08:41 1767427721" [ref=e503]: - - link "14 hours ago" [ref=e504] [cursor=pointer]: - - /url: item?id=46473897 + - row "70 points by rcarmo 9 hours ago | hide | 10 comments" [ref=e482]: + - cell [ref=e483] + - cell "70 points by rcarmo 9 hours ago | hide | 10 comments" [ref=e484]: + - generic [ref=e485]: + - text: 70 points by + - link "rcarmo" [ref=e486] [cursor=pointer]: + - /url: user?id=rcarmo + - generic "2026-01-11T12:02:52 1768132972" [ref=e487]: + - link "9 hours ago" [ref=e488] [cursor=pointer]: + - /url: item?id=46574961 - text: "|" - - link "hide" [ref=e505] [cursor=pointer]: - - /url: hide?id=46473897&goto=news + - link "hide" [ref=e489] [cursor=pointer]: + - /url: hide?id=46574961&goto=news - text: "|" - - link "25 comments" [ref=e506] [cursor=pointer]: - - /url: item?id=46473897 - - row [ref=e507] - - 'row "24. upvote Janderland/fenv: FoundationDB development environment (github.com/janderland)" [ref=e508]': - - cell "24." [ref=e509] - - cell "upvote" [ref=e510]: - - link "upvote" [ref=e512] [cursor=pointer]: - - /url: vote?id=46477290&how=up&goto=news - - generic "upvote" [ref=e513] - - 'cell "Janderland/fenv: FoundationDB development environment (github.com/janderland)" [ref=e514]': - - generic [ref=e515]: - - 'link "Janderland/fenv: FoundationDB development environment" [ref=e516] [cursor=pointer]': - - /url: https://github.com/janderland/fenv - - generic [ref=e517]: + - link "10 comments" [ref=e490] [cursor=pointer]: + - /url: item?id=46574961 + - row [ref=e491] + - row "23. upvote Dell admits it made a mistake when it abandoned XPS (gizmodo.com)" [ref=e492]: + - cell "23." [ref=e493] + - cell "upvote" [ref=e494]: + - link "upvote" [ref=e496] [cursor=pointer]: + - /url: vote?id=46511592&how=up&goto=news + - generic "upvote" [ref=e497] + - cell "Dell admits it made a mistake when it abandoned XPS (gizmodo.com)" [ref=e498]: + - generic [ref=e499]: + - link "Dell admits it made a mistake when it abandoned XPS" [ref=e500] [cursor=pointer]: + - /url: https://gizmodo.com/dell-admits-it-made-a-huge-mistake-when-it-abandoned-xps-2000705053 + - generic [ref=e501]: - text: ( - - link "github.com/janderland" [ref=e518] [cursor=pointer]: - - /url: from?site=github.com/janderland + - link "gizmodo.com" [ref=e502] [cursor=pointer]: + - /url: from?site=gizmodo.com - text: ) - - row "5 points by surprisetalk 3 hours ago | hide | discuss" [ref=e519]: - - cell [ref=e520] - - cell "5 points by surprisetalk 3 hours ago | hide | discuss" [ref=e521]: - - generic [ref=e522]: + - row "62 points by jnord 5 hours ago | hide | 71 comments" [ref=e503]: + - cell [ref=e504] + - cell "62 points by jnord 5 hours ago | hide | 71 comments" [ref=e505]: + - generic [ref=e506]: + - text: 62 points by + - link "jnord" [ref=e507] [cursor=pointer]: + - /url: user?id=jnord + - generic "2026-01-06T12:49:44 1767703784" [ref=e508]: + - link "5 hours ago" [ref=e509] [cursor=pointer]: + - /url: item?id=46511592 + - text: "|" + - link "hide" [ref=e510] [cursor=pointer]: + - /url: hide?id=46511592&goto=news + - text: "|" + - link "71 comments" [ref=e511] [cursor=pointer]: + - /url: item?id=46511592 + - row [ref=e512] + - row "24. upvote China applies to put 200K satellites in space after calling Starlink crash risk (scmp.com)" [ref=e513]: + - cell "24." [ref=e514] + - cell "upvote" [ref=e515]: + - link "upvote" [ref=e517] [cursor=pointer]: + - /url: vote?id=46575902&how=up&goto=news + - generic "upvote" [ref=e518] + - cell "China applies to put 200K satellites in space after calling Starlink crash risk (scmp.com)" [ref=e519]: + - generic [ref=e520]: + - link "China applies to put 200K satellites in space after calling Starlink crash risk" [ref=e521] [cursor=pointer]: + - /url: https://www.scmp.com/news/china/science/article/3339493/china-applies-put-200000-satellites-space-after-calling-starlink-crash-risk + - generic [ref=e522]: + - text: ( + - link "scmp.com" [ref=e523] [cursor=pointer]: + - /url: from?site=scmp.com + - text: ) + - row "56 points by nkurz 7 hours ago | hide | 24 comments" [ref=e524]: + - cell [ref=e525] + - cell "56 points by nkurz 7 hours ago | hide | 24 comments" [ref=e526]: + - generic [ref=e527]: + - text: 56 points by + - link "nkurz" [ref=e528] [cursor=pointer]: + - /url: user?id=nkurz + - generic "2026-01-11T14:09:09 1768140549" [ref=e529]: + - link "7 hours ago" [ref=e530] [cursor=pointer]: + - /url: item?id=46575902 + - text: "|" + - link "hide" [ref=e531] [cursor=pointer]: + - /url: hide?id=46575902&goto=news + - text: "|" + - link "24 comments" [ref=e532] [cursor=pointer]: + - /url: item?id=46575902 + - row [ref=e533] + - row "25. upvote The Concise TypeScript Book (github.com/gibbok)" [ref=e534]: + - cell "25." [ref=e535] + - cell "upvote" [ref=e536]: + - link "upvote" [ref=e538] [cursor=pointer]: + - /url: vote?id=46573001&how=up&goto=news + - generic "upvote" [ref=e539] + - cell "The Concise TypeScript Book (github.com/gibbok)" [ref=e540]: + - generic [ref=e541]: + - link "The Concise TypeScript Book" [ref=e542] [cursor=pointer]: + - /url: https://github.com/gibbok/typescript-book + - generic [ref=e543]: + - text: ( + - link "github.com/gibbok" [ref=e544] [cursor=pointer]: + - /url: from?site=github.com/gibbok + - text: ) + - row "203 points by javatuts 15 hours ago | hide | 47 comments" [ref=e545]: + - cell [ref=e546] + - cell "203 points by javatuts 15 hours ago | hide | 47 comments" [ref=e547]: + - generic [ref=e548]: + - text: 203 points by + - link "javatuts" [ref=e549] [cursor=pointer]: + - /url: user?id=javatuts + - generic "2026-01-11T05:42:03 1768110123" [ref=e550]: + - link "15 hours ago" [ref=e551] [cursor=pointer]: + - /url: item?id=46573001 + - text: "|" + - link "hide" [ref=e552] [cursor=pointer]: + - /url: hide?id=46573001&goto=news + - text: "|" + - link "47 comments" [ref=e553] [cursor=pointer]: + - /url: item?id=46573001 + - row [ref=e554] + - row "26. upvote American Dialect Society 2025 Word of the Year Is \"Slop\" (americandialect.org)" [ref=e555]: + - cell "26." [ref=e556] + - cell "upvote" [ref=e557]: + - link "upvote" [ref=e559] [cursor=pointer]: + - /url: vote?id=46578507&how=up&goto=news + - generic "upvote" [ref=e560] + - cell "American Dialect Society 2025 Word of the Year Is \"Slop\" (americandialect.org)" [ref=e561]: + - generic [ref=e562]: + - link "American Dialect Society 2025 Word of the Year Is \"Slop\"" [ref=e563] [cursor=pointer]: + - /url: https://americandialect.org/2025-word-of-the-year-is-slop/ + - generic [ref=e564]: + - text: ( + - link "americandialect.org" [ref=e565] [cursor=pointer]: + - /url: from?site=americandialect.org + - text: ) + - row "38 points by ChrisArchitect 2 hours ago | hide | 9 comments" [ref=e566]: + - cell [ref=e567] + - cell "38 points by ChrisArchitect 2 hours ago | hide | 9 comments" [ref=e568]: + - generic [ref=e569]: + - text: 38 points by + - link "ChrisArchitect" [ref=e570] [cursor=pointer]: + - /url: user?id=ChrisArchitect + - generic "2026-01-11T18:50:47 1768157447" [ref=e571]: + - link "2 hours ago" [ref=e572] [cursor=pointer]: + - /url: item?id=46578507 + - text: "|" + - link "hide" [ref=e573] [cursor=pointer]: + - /url: hide?id=46578507&goto=news + - text: "|" + - link "9 comments" [ref=e574] [cursor=pointer]: + - /url: item?id=46578507 + - row [ref=e575] + - 'row "27. upvote Show HN: Interactive California Budget (by Claude Code) (california-budget.com)" [ref=e576]': + - cell "27." [ref=e577] + - cell "upvote" [ref=e578]: + - link "upvote" [ref=e580] [cursor=pointer]: + - /url: vote?id=46577526&how=up&goto=news + - generic "upvote" [ref=e581] + - 'cell "Show HN: Interactive California Budget (by Claude Code) (california-budget.com)" [ref=e582]': + - generic [ref=e583]: + - 'link "Show HN: Interactive California Budget (by Claude Code)" [ref=e584] [cursor=pointer]': + - /url: https://california-budget.com + - generic [ref=e585]: + - text: ( + - link "california-budget.com" [ref=e586] [cursor=pointer]: + - /url: from?site=california-budget.com + - text: ) + - row "17 points by sberens 2 hours ago | hide | discuss" [ref=e587]: + - cell [ref=e588] + - cell "17 points by sberens 2 hours ago | hide | discuss" [ref=e589]: + - generic [ref=e590]: + - text: 17 points by + - link "sberens" [ref=e591] [cursor=pointer]: + - /url: user?id=sberens + - generic "2026-01-11T17:13:18 1768151598" [ref=e592]: + - link "2 hours ago" [ref=e593] [cursor=pointer]: + - /url: item?id=46577526 + - text: "|" + - link "hide" [ref=e594] [cursor=pointer]: + - /url: hide?id=46577526&goto=news + - text: "|" + - link "discuss" [ref=e595] [cursor=pointer]: + - /url: item?id=46577526 + - row [ref=e596] + - row "28. upvote HTML-only conditional lazy loading (via preload and media) (orga.cat)" [ref=e597]: + - cell "28." [ref=e598] + - cell "upvote" [ref=e599]: + - link "upvote" [ref=e601] [cursor=pointer]: + - /url: vote?id=46574640&how=up&goto=news + - generic "upvote" [ref=e602] + - cell "HTML-only conditional lazy loading (via preload and media) (orga.cat)" [ref=e603]: + - generic [ref=e604]: + - link "HTML-only conditional lazy loading (via preload and media)" [ref=e605] [cursor=pointer]: + - /url: https://orga.cat/blog/html-conditional-lazy-loading/ + - generic [ref=e606]: + - text: ( + - link "orga.cat" [ref=e607] [cursor=pointer]: + - /url: from?site=orga.cat + - text: ) + - row "80 points by netol 10 hours ago | hide | 14 comments" [ref=e608]: + - cell [ref=e609] + - cell "80 points by netol 10 hours ago | hide | 14 comments" [ref=e610]: + - generic [ref=e611]: + - text: 80 points by + - link "netol" [ref=e612] [cursor=pointer]: + - /url: user?id=netol + - generic "2026-01-11T11:24:19 1768130659" [ref=e613]: + - link "10 hours ago" [ref=e614] [cursor=pointer]: + - /url: item?id=46574640 + - text: "|" + - link "hide" [ref=e615] [cursor=pointer]: + - /url: hide?id=46574640&goto=news + - text: "|" + - link "14 comments" [ref=e616] [cursor=pointer]: + - /url: item?id=46574640 + - row [ref=e617] + - row "29. upvote Pigeon's Device (2009) (pigeonsnest.co.uk)" [ref=e618]: + - cell "29." [ref=e619] + - cell "upvote" [ref=e620]: + - link "upvote" [ref=e622] [cursor=pointer]: + - /url: vote?id=46578390&how=up&goto=news + - generic "upvote" [ref=e623] + - cell "Pigeon's Device (2009) (pigeonsnest.co.uk)" [ref=e624]: + - generic [ref=e625]: + - link "Pigeon's Device (2009)" [ref=e626] [cursor=pointer]: + - /url: http://pigeonsnest.co.uk/stuff/pigeons-device.html + - generic [ref=e627]: + - text: ( + - link "pigeonsnest.co.uk" [ref=e628] [cursor=pointer]: + - /url: from?site=pigeonsnest.co.uk + - text: ) + - row "5 points by gaul 2 hours ago | hide | discuss" [ref=e629]: + - cell [ref=e630] + - cell "5 points by gaul 2 hours ago | hide | discuss" [ref=e631]: + - generic [ref=e632]: - text: 5 points by - - link "surprisetalk" [ref=e523] [cursor=pointer]: - - /url: user?id=surprisetalk - - generic "2026-01-03T14:50:07 1767451807" [ref=e524]: - - link "3 hours ago" [ref=e525] [cursor=pointer]: - - /url: item?id=46477290 + - link "gaul" [ref=e633] [cursor=pointer]: + - /url: user?id=gaul + - generic "2026-01-11T18:41:31 1768156891" [ref=e634]: + - link "2 hours ago" [ref=e635] [cursor=pointer]: + - /url: item?id=46578390 - text: "|" - - link "hide" [ref=e526] [cursor=pointer]: - - /url: hide?id=46477290&goto=news + - link "hide" [ref=e636] [cursor=pointer]: + - /url: hide?id=46578390&goto=news - text: "|" - - link "discuss" [ref=e527] [cursor=pointer]: - - /url: item?id=46477290 - - row [ref=e528] - - row "25. upvote How will the miracle happen today? (kk.org)" [ref=e529]: - - cell "25." [ref=e530] - - cell "upvote" [ref=e531]: - - link "upvote" [ref=e533] [cursor=pointer]: - - /url: vote?id=46489514&how=up&goto=news - - generic "upvote" [ref=e534] - - cell "How will the miracle happen today? (kk.org)" [ref=e535]: - - generic [ref=e536]: - - link "How will the miracle happen today?" [ref=e537] [cursor=pointer]: - - /url: https://kk.org/thetechnium/how-will-the-miracle-happen-today/ - - generic [ref=e538]: + - link "discuss" [ref=e637] [cursor=pointer]: + - /url: item?id=46578390 + - row [ref=e638] + - row "30. upvote Instagram data breach reportedly exposed the personal info of 17.5M users (engadget.com)" [ref=e639]: + - cell "30." [ref=e640] + - cell "upvote" [ref=e641]: + - link "upvote" [ref=e643] [cursor=pointer]: + - /url: vote?id=46576337&how=up&goto=news + - generic "upvote" [ref=e644] + - cell "Instagram data breach reportedly exposed the personal info of 17.5M users (engadget.com)" [ref=e645]: + - generic [ref=e646]: + - link "Instagram data breach reportedly exposed the personal info of 17.5M users" [ref=e647] [cursor=pointer]: + - /url: https://www.engadget.com/cybersecurity/an-instagram-data-breach-reportedly-exposed-the-personal-info-of-175-million-users-192105616.html + - generic [ref=e648]: - text: ( - - link "kk.org" [ref=e539] [cursor=pointer]: - - /url: from?site=kk.org + - link "engadget.com" [ref=e649] [cursor=pointer]: + - /url: from?site=engadget.com - text: ) - - row "516 points by zdw 1 day ago | hide | 251 comments" [ref=e540]: - - cell [ref=e541] - - cell "516 points by zdw 1 day ago | hide | 251 comments" [ref=e542]: - - generic [ref=e543]: - - text: 516 points by - - link "zdw" [ref=e544] [cursor=pointer]: - - /url: user?id=zdw - - generic "2026-01-04T16:32:13 1767544333" [ref=e545]: - - link "1 day ago" [ref=e546] [cursor=pointer]: - - /url: item?id=46489514 + - row "170 points by IvanAchlaqullah 6 hours ago | hide | 56 comments" [ref=e650]: + - cell [ref=e651] + - cell "170 points by IvanAchlaqullah 6 hours ago | hide | 56 comments" [ref=e652]: + - generic [ref=e653]: + - text: 170 points by + - link "IvanAchlaqullah" [ref=e654] [cursor=pointer]: + - /url: user?id=IvanAchlaqullah + - generic "2026-01-11T15:07:12 1768144032" [ref=e655]: + - link "6 hours ago" [ref=e656] [cursor=pointer]: + - /url: item?id=46576337 - text: "|" - - link "hide" [ref=e547] [cursor=pointer]: - - /url: hide?id=46489514&goto=news + - link "hide" [ref=e657] [cursor=pointer]: + - /url: hide?id=46576337&goto=news - text: "|" - - link "251 comments" [ref=e548] [cursor=pointer]: - - /url: item?id=46489514 - - row [ref=e549] - - row "26. upvote Kagi releases alpha version of Orion for Linux (kagi.com)" [ref=e550]: - - cell "26." [ref=e551] - - cell "upvote" [ref=e552]: - - link "upvote" [ref=e554] [cursor=pointer]: - - /url: vote?id=46553343&how=up&goto=news - - generic "upvote" [ref=e555] - - cell "Kagi releases alpha version of Orion for Linux (kagi.com)" [ref=e556]: - - generic [ref=e557]: - - link "Kagi releases alpha version of Orion for Linux" [ref=e558] [cursor=pointer]: - - /url: https://help.kagi.com/orion/misc/linux-status.html - - generic [ref=e559]: - - text: ( - - link "kagi.com" [ref=e560] [cursor=pointer]: - - /url: from?site=kagi.com - - text: ) - - row "445 points by HelloUsername 1 day ago | hide | 293 comments" [ref=e561]: - - cell [ref=e562] - - cell "445 points by HelloUsername 1 day ago | hide | 293 comments" [ref=e563]: - - generic [ref=e564]: - - text: 445 points by - - link "HelloUsername" [ref=e565] [cursor=pointer]: - - /url: user?id=HelloUsername - - generic "2026-01-09T12:54:48 1767963288" [ref=e566]: - - link "1 day ago" [ref=e567] [cursor=pointer]: - - /url: item?id=46553343 - - text: "|" - - link "hide" [ref=e568] [cursor=pointer]: - - /url: hide?id=46553343&goto=news - - text: "|" - - link "293 comments" [ref=e569] [cursor=pointer]: - - /url: item?id=46553343 - - row [ref=e570] - - row "27. upvote Oh My Zsh adds bloat (rushter.com)" [ref=e571]: - - cell "27." [ref=e572] - - cell "upvote" [ref=e573]: - - link "upvote" [ref=e575] [cursor=pointer]: - - /url: vote?id=46562790&how=up&goto=news - - generic "upvote" [ref=e576] - - cell "Oh My Zsh adds bloat (rushter.com)" [ref=e577]: - - generic [ref=e578]: - - link "Oh My Zsh adds bloat" [ref=e579] [cursor=pointer]: - - /url: https://rushter.com/blog/zsh-shell/ - - generic [ref=e580]: - - text: ( - - link "rushter.com" [ref=e581] [cursor=pointer]: - - /url: from?site=rushter.com - - text: ) - - row "281 points by fla 14 hours ago | hide | 253 comments" [ref=e582]: - - cell [ref=e583] - - cell "281 points by fla 14 hours ago | hide | 253 comments" [ref=e584]: - - generic [ref=e585]: - - text: 281 points by - - link "fla" [ref=e586] [cursor=pointer]: - - /url: user?id=fla - - generic "2026-01-10T04:35:32 1768019732" [ref=e587]: - - link "14 hours ago" [ref=e588] [cursor=pointer]: - - /url: item?id=46562790 - - text: "|" - - link "hide" [ref=e589] [cursor=pointer]: - - /url: hide?id=46562790&goto=news - - text: "|" - - link "253 comments" [ref=e590] [cursor=pointer]: - - /url: item?id=46562790 - - row [ref=e591] - - 'row "28. upvote Show HN: Rocket Launch and Orbit Simulator (donutthejedi.com)" [ref=e592]': - - cell "28." [ref=e593] - - cell "upvote" [ref=e594]: - - link "upvote" [ref=e596] [cursor=pointer]: - - /url: vote?id=46557879&how=up&goto=news - - generic "upvote" [ref=e597] - - 'cell "Show HN: Rocket Launch and Orbit Simulator (donutthejedi.com)" [ref=e598]': - - generic [ref=e599]: - - 'link "Show HN: Rocket Launch and Orbit Simulator" [ref=e600] [cursor=pointer]': - - /url: https://www.donutthejedi.com/ - - generic [ref=e601]: - - text: ( - - link "donutthejedi.com" [ref=e602] [cursor=pointer]: - - /url: from?site=donutthejedi.com - - text: ) - - row "155 points by donutthejedi 23 hours ago | hide | 36 comments" [ref=e603]: - - cell [ref=e604] - - cell "155 points by donutthejedi 23 hours ago | hide | 36 comments" [ref=e605]: - - generic [ref=e606]: - - text: 155 points by - - link "donutthejedi" [ref=e607] [cursor=pointer]: - - /url: user?id=donutthejedi - - generic "2026-01-09T19:15:21 1767986121" [ref=e608]: - - link "23 hours ago" [ref=e609] [cursor=pointer]: - - /url: item?id=46557879 - - text: "|" - - link "hide" [ref=e610] [cursor=pointer]: - - /url: hide?id=46557879&goto=news - - text: "|" - - link "36 comments" [ref=e611] [cursor=pointer]: - - /url: item?id=46557879 - - row [ref=e612] - - row "29. upvote How to code Claude Code in 200 lines of code (mihaileric.com)" [ref=e613]: - - cell "29." [ref=e614] - - cell "upvote" [ref=e615]: - - link "upvote" [ref=e617] [cursor=pointer]: - - /url: vote?id=46545620&how=up&goto=news - - generic "upvote" [ref=e618] - - cell "How to code Claude Code in 200 lines of code (mihaileric.com)" [ref=e619]: - - generic [ref=e620]: - - link "How to code Claude Code in 200 lines of code" [ref=e621] [cursor=pointer]: - - /url: https://www.mihaileric.com/The-Emperor-Has-No-Clothes/ - - generic [ref=e622]: - - text: ( - - link "mihaileric.com" [ref=e623] [cursor=pointer]: - - /url: from?site=mihaileric.com - - text: ) - - row "780 points by nutellalover 1 day ago | hide | 235 comments" [ref=e624]: - - cell [ref=e625] - - cell "780 points by nutellalover 1 day ago | hide | 235 comments" [ref=e626]: - - generic [ref=e627]: - - text: 780 points by - - link "nutellalover" [ref=e628] [cursor=pointer]: - - /url: user?id=nutellalover - - generic "2026-01-08T19:54:26 1767902066" [ref=e629]: - - link "1 day ago" [ref=e630] [cursor=pointer]: - - /url: item?id=46545620 - - text: "|" - - link "hide" [ref=e631] [cursor=pointer]: - - /url: hide?id=46545620&goto=news - - text: "|" - - link "235 comments" [ref=e632] [cursor=pointer]: - - /url: item?id=46545620 - - row [ref=e633] - - row "30. upvote ChatGPT Health is a marketplace, guess who is the product? (consciousdigital.org)" [ref=e634]: - - cell "30." [ref=e635] - - cell "upvote" [ref=e636]: - - link "upvote" [ref=e638] [cursor=pointer]: - - /url: vote?id=46541533&how=up&goto=news - - generic "upvote" [ref=e639] - - cell "ChatGPT Health is a marketplace, guess who is the product? (consciousdigital.org)" [ref=e640]: - - generic [ref=e641]: - - link "ChatGPT Health is a marketplace, guess who is the product?" [ref=e642] [cursor=pointer]: - - /url: https://consciousdigital.org/chatgpt-health-is-a-marketplace-guess-who-is-the-product/ - - generic [ref=e643]: - - text: ( - - link "consciousdigital.org" [ref=e644] [cursor=pointer]: - - /url: from?site=consciousdigital.org - - text: ) - - row "152 points by yoaviram 5 hours ago | hide | 170 comments" [ref=e645]: - - cell [ref=e646] - - cell "152 points by yoaviram 5 hours ago | hide | 170 comments" [ref=e647]: - - generic [ref=e648]: - - text: 152 points by - - link "yoaviram" [ref=e649] [cursor=pointer]: - - /url: user?id=yoaviram - - generic "2026-01-08T14:40:20 1767883220" [ref=e650]: - - link "5 hours ago" [ref=e651] [cursor=pointer]: - - /url: item?id=46541533 - - text: "|" - - link "hide" [ref=e652] [cursor=pointer]: - - /url: hide?id=46541533&goto=news - - text: "|" - - link "170 comments" [ref=e653] [cursor=pointer]: - - /url: item?id=46541533 - - row [ref=e654] - - row [ref=e655] - - row "More" [ref=e656]: - - cell [ref=e657] - - cell "More" [ref=e658]: - - link "More" [ref=e659] [cursor=pointer]: + - link "56 comments" [ref=e658] [cursor=pointer]: + - /url: item?id=46576337 + - row [ref=e659] + - row [ref=e660] + - row "More" [ref=e661]: + - cell [ref=e662] + - cell "More" [ref=e663]: + - link "More" [ref=e664] [cursor=pointer]: - /url: "?p=2" - - row "Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact Search:" [ref=e660]: - - cell "Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact Search:" [ref=e661]: + - row "Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact Search:" [ref=e665]: + - cell "Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact Search:" [ref=e666]: - img - - table [ref=e662]: - - rowgroup [ref=e663]: - - row [ref=e664]: - - cell [ref=e665] - - generic [ref=e666]: - - generic [ref=e667]: - - link "Guidelines" [ref=e668] [cursor=pointer]: + - table [ref=e667]: + - rowgroup [ref=e668]: + - row [ref=e669]: + - cell [ref=e670] + - generic [ref=e671]: + - generic [ref=e672]: + - link "Guidelines" [ref=e673] [cursor=pointer]: - /url: newsguidelines.html - text: "|" - - link "FAQ" [ref=e669] [cursor=pointer]: + - link "FAQ" [ref=e674] [cursor=pointer]: - /url: newsfaq.html - text: "|" - - link "Lists" [ref=e670] [cursor=pointer]: + - link "Lists" [ref=e675] [cursor=pointer]: - /url: lists - text: "|" - - link "API" [ref=e671] [cursor=pointer]: + - link "API" [ref=e676] [cursor=pointer]: - /url: https://github.com/HackerNews/API - text: "|" - - link "Security" [ref=e672] [cursor=pointer]: + - link "Security" [ref=e677] [cursor=pointer]: - /url: security.html - text: "|" - - link "Legal" [ref=e673] [cursor=pointer]: + - link "Legal" [ref=e678] [cursor=pointer]: - /url: https://www.ycombinator.com/legal/ - text: "|" - - link "Apply to YC" [ref=e674] [cursor=pointer]: + - link "Apply to YC" [ref=e679] [cursor=pointer]: - /url: https://www.ycombinator.com/apply/ - text: "|" - - link "Contact" [ref=e675] [cursor=pointer]: + - link "Contact" [ref=e680] [cursor=pointer]: - /url: mailto:hn@ycombinator.com - - generic [ref=e676]: + - generic [ref=e681]: - text: "Search:" - - textbox [ref=e677] \ No newline at end of file + - textbox [ref=e682] \ No newline at end of file diff --git a/playwriter/src/htmlrewrite.test.ts b/playwriter/src/htmlrewrite.test.ts index c4bc458..fbf9345 100644 --- a/playwriter/src/htmlrewrite.test.ts +++ b/playwriter/src/htmlrewrite.test.ts @@ -14,191 +14,154 @@ test('formatHtmlForPrompt', async () => {
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ +
+
+
+
+ +
+
-

- Developers -

+
Search
-
-
-
-
-
-
-
- -
-
-
- -
-
Search
-
-
-
-
-
-
-
-
-
+
-
-
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ +
+
+
+
+ +
+
-

- Developers -

+
Search
-
-
-
-
-
-
-
- -
-
-
- -
-
Search
-
-
-
-
-
-
-
-
-
+
-
-
-
+
@@ -897,466 +594,220 @@ test('formatHtmlForPrompt', async () => {
-
-
-
- -
- -
-
- -
-

Build better sites, faster

-
-
-

- Framer is the site builder trusted by startups -
- to Fortune 500. Build fast and scale with an integrated CMS, SEO, Analytics, and more. -

-
+
+

Framer is the site builder trusted by startups to Fortune 500. Build fast and scale with an integrated CMS, SEO, Analytics, and more.

-
-
-

Framer is the site builder trusted by startups to Fortune 500. Build fast and scale with an integrated CMS, SEO, Analytics, and more.

-
+
+

Framer is the site builder trusted by startups to Fortune 500. Build fast and scale with an integrated CMS, SEO, Analytics, and more.

-
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
+
+
+
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
+
+
+
+
+ Website made in Framer
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
+
+
+
+
+ Website made in Framer
-
-
-
-
-
-
- Website made in Framer -
-
-
+
+
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
-
- Website made in Framer -
-
- -
-
-
-
+
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
- Website made in Framer -
-
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
- -
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
- -
-
-
-
-
+
+
+
+
+ Website made in Framer
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
- -
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
+
+
+
+
+ Website made in Framer
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
+
+
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
-
-
- Website made in Framer -
-
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
- Website made in Framer -
-
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
- Website made in Framer -
-
+
+
+
+
+
+ Website made in Framer
@@ -1364,220 +815,295 @@ test('formatHtmlForPrompt', async () => {
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
+
+
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
- Website made in Framer -
-
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
- Website made in Framer -
-
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
-
- Website made in Framer -
-
-
+
+
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
-
- Website made in Framer -
-
- -
-
-
-
+
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
- Website made in Framer -
-
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
- -
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
- -
-
-
-
-
+
+
+
+
+ Website made in Framer
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
- -
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
+
+
+
+
+ Website made in Framer
@@ -1587,263 +1113,173 @@ test('formatHtmlForPrompt', async () => {
-
-
-
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
+
+
+
+
+
+
+
+
+
+
+ Website made in Framer
-
-
-
-
-
-
- Website made in Framer -
-
- -
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
- -
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
- -
-
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
-
-
- Website made in Framer -
-
-
-
-
-
-
-
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
+
+ Website made in Framer +
+
+
+
+
+
+
-
-
-
- -
- -
-
- -
-
-
- -
-
-
- -
-
- -
-
- -
-
- -
-
- -
+
+ +
+

Meet our customers

+
+
+
+ + + +
+ +
+ + +
-
-
-
- -
-
    -
  • -
    - -
    -
  • -
  • -
    - -
    -
  • -
  • -
    - -
    -
  • -
  • -
    -
    - -
    -
    -
  • -
  • -
    - -
    -
  • -
  • -
    - -
    -
  • -
  • -
    - -
    -
  • -
  • -
    - -
    -
  • -
-
+
+ +
+

Meet our customers

+
+
+
    +
  • +
    + +
    +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • +
    + +
    +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
@@ -1858,104 +1294,74 @@ test('formatHtmlForPrompt', async () => {
-
-
-
-
-
-
-

- AI -

-
-
-

Generate site layouts and advanced components in seconds with AI, so you can skip the blank canvas and start designing with confidence.

-
-
- +
+
+
+
+

+ AI +

+
+
+

Generate site layouts and advanced components in seconds with AI, so you can skip the blank canvas and start designing with confidence.

-
-
-
-
-

- Design -

-
-
-

Craft responsive layouts and bring them to life with smooth effects, interactions, and animations. Build exactly what you imagine, visually.

-
-
- + +
+

Learn more

+
+
+
+
+
+
+

+ Design +

+
+
+

Craft responsive layouts and bring them to life with smooth effects, interactions, and animations. Build exactly what you imagine, visually.

-
-
-
-
-

- CMS -

-
-
-

Manage and update your content effortlessly with a built-in CMS. Keep your site fresh without touching code.

-
-
- + +
+

Learn more

+
+
+
+
+
+
+

+ CMS +

+
+
+

Manage and update your content effortlessly with a built-in CMS. Keep your site fresh without touching code.

-
-
-
-
-

- Collaborate -

-
-
-

Whether you’re collaborating on the canvas or editing copy directly on the page, updates are seamless and handoff-free.

-
-
- + +
+

Learn more

+
+
+
+
+
+
+

+ Collaborate +

+
+
+

Whether you’re collaborating on the canvas or editing copy directly on the page, updates are seamless and handoff-free.

+ +
+

Learn more

+
+
@@ -1972,18 +1378,14 @@ test('formatHtmlForPrompt', async () => {
-
-
- A smiling person with short hair, wearing a dark shirt, against a backdrop of blue sky and clouds. -
+
+ A smiling person with short hair, wearing a dark shirt, against a backdrop of blue sky and clouds.
-
-
-
- -
+
+
+
@@ -2005,11 +1407,9 @@ test('formatHtmlForPrompt', async () => {
-
-
-
- -
+
+
+
@@ -2088,9 +1488,6 @@ test('formatHtmlForPrompt', async () => {

Landing Page 3

-

-
-

@@ -2100,38 +1497,16 @@ test('formatHtmlForPrompt', async () => {
-
- -
-
- -
-
- -
-
- -
-
- -
+ + + + +

100%

- +
@@ -2147,122 +1522,90 @@ test('formatHtmlForPrompt', async () => {
-
-
-
-
-
-
- Framer UI +
+
+
+
+
+ Framer UI +
+
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
-
-
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- Framer UI -
+
+
+ Framer UI
-
-
-
- +
+
+
+
+ +
+
+
+

Benjamin

-
+
+
+
+
+ +
+
+
+

Paul

+
+
+
+
+
+
+ Framer UI +
+
+
+
+
+ + + + + +
-

Benjamin

+

100%

+
-
-
- -
-
-
-

Paul

-
+
+
+ Framer canvas
-
-
-
- Framer UI -
-
-
-
-
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
-

100%

-
- -
-
-
-
- Framer canvas -
-
-
-
-
-
- Framer UI -
+
+
+
+
+ Framer UI
@@ -2587,21 +1930,16 @@ test('formatHtmlForPrompt', async () => {
-
-
- Framer UI -
+
+ Framer UI

Title

-
-
-

Free Custom Domains

-
-
+
+

Free Custom Domains

@@ -2625,29 +1963,20 @@ test('formatHtmlForPrompt', async () => {
-
-
-

Publishing

-
- -
-
-
- +

Slug

-
-
-

free-custom-domains

-
-
+
+

free-custom-domains

@@ -2663,81 +1992,54 @@ test('formatHtmlForPrompt', async () => {
- - - Paragraph -
-
-
+ Paragraph
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
+ + + + + + +
-
- -
-
- -
-
- -
+ + +
-
-
-

- Today, we’re shipping an update where we offer a free custom domain for the first year when you upgrade your site to a yearly plan. We’ve partnered with - Hover - to provide a seamless flow where you can select a free or discounted domain that will be automatically connected to your Framer site after purchase. To make use of this offer, upgrade your site to a yearly plan, then head over to the Domains tab in your project settings and select the “Claim a free custom domain” option. -

-
    -
  • -

    This offer can be redeemed once per subscription

    -
  • -
  • -

    This offer is available only for sites on a yearly plan

    -
  • -
  • -

    Your domain will automatically renew at the standard rate

    -
  • -
  • -

    Redeeming this offer forfeits the option to request a refund

    -
  • -
  • -

    This offer is not valid in combination with a 100% discount code

    -
  • -
  • -

    - Your domain and its subscription will be managed through - Hover -

    -
  • -
-
+
+

+ Today, we’re shipping an update where we offer a free custom domain for the first year when you upgrade your site to a yearly plan. We’ve partnered with + Hover + to provide a seamless flow where you can select a free or discounted domain that will be automatically connected to your Framer site after purchase. To make use of this offer, upgrade your site to a yearly plan, then head over to the Domains tab in your project settings and select the “Claim a free custom domain” option. +

+
    +
  • +

    This offer can be redeemed once per subscription

    +
  • +
  • +

    This offer is available only for sites on a yearly plan

    +
  • +
  • +

    Your domain will automatically renew at the standard rate

    +
  • +
  • +

    Redeeming this offer forfeits the option to request a refund

    +
  • +
  • +

    This offer is not valid in combination with a 100% discount code

    +
  • +
  • +

    + Your domain and its subscription will be managed through + Hover +

    +
  • +
@@ -2752,9 +2054,7 @@ test('formatHtmlForPrompt', async () => {
-
-
-
+
@@ -2769,35 +2069,20 @@ test('formatHtmlForPrompt', async () => {

Baseform®

-
-
-
-
-
-
+

Art Direction

-
-
-
-
-
-
+

Visual Design

-
-
-
-
-
-
+
@@ -2805,79 +2090,41 @@ test('formatHtmlForPrompt', async () => {

Work,

-
-
-
-
-
-
+

Archive,

-
-
-
-
-
-
+

Profile,

-
-
-
-
-
-
+

Journal

-
-
-
-
-
-
+

Let's Talk

-
-
-
-
-
-
+
-
-
-
- - - - - -
-
-
-
-
-
-
-
+
+
+
@@ -2885,12 +2132,7 @@ test('formatHtmlForPrompt', async () => {

Latest News

-
-
-
-
-
-
+
@@ -2899,12 +2141,7 @@ test('formatHtmlForPrompt', async () => {

-
-
-
-
-
-
+
@@ -2912,46 +2149,25 @@ test('formatHtmlForPrompt', async () => {
Photo
-
-
-
-
-
-
+
Photo
-
-
-
-
-
-
-
+
Photo
-
-
-
-
-
-
+
Photo
-
-
-
-
-
-
+
@@ -2993,21 +2209,15 @@ test('formatHtmlForPrompt', async () => {
-
- -
+

Open in Framer

-
-
- -
-

Finish Editing

-
+
+ +
+

Finish Editing

@@ -3015,402 +2225,294 @@ test('formatHtmlForPrompt', async () => {
-
-
-
-
-
-
- -
-
+
+
+
+
+
-
-
-
-
AI
-
-
-

Generate page layouts and advanced components in seconds with AI, so you can skip the blank canvas and start designing with confidence.

-
-
- -
-
+
-
-
-
-
-
-
-
- -
-
+
+
+
+
AI
-
-
-
-
AI
-
-
-

Generate page layouts and advanced components in seconds with AI, so you can skip the blank canvas and start designing with confidence.

-
-
- +
+

Generate page layouts and advanced components in seconds with AI, so you can skip the blank canvas and start designing with confidence.

-
+
+ +
+

Learn more

+
+
-
-
-
-
-
-
-
- -
-
+
+
+
+
+
+
-
-
-
-
AI
-
-
-

Generate page layouts and advanced components in seconds with AI, so you can skip the blank canvas and start designing with confidence.

-
-
- -
-
+
-
-
-
-
-
-
-
- -
-
+
+
+
+
AI
-
-
-
-
Design
-
-
-

Craft responsive layouts and bring them to life with smooth effects, interactions, and animations. Build exactly what you imagine, visually.

-
-
- +
+

Generate page layouts and advanced components in seconds with AI, so you can skip the blank canvas and start designing with confidence.

-
+
+ +
+

Learn more

+
+
-
-
-
-
-
-
-
- -
-
+
+
+
+
+
+
-
-
-
-
Design
-
-
-

Craft responsive layouts and bring them to life with smooth effects, interactions, and animations. Build exactly what you imagine, visually.

-
-
- -
-
+
-
-
-
-
-
-
-
- -
-
+
+
+
+
AI
-
-
-
-
Design
-
-
-

Craft responsive layouts and bring them to life with smooth effects, interactions, and animations. Build exactly what you imagine, visually.

-
-
- +
+

Generate page layouts and advanced components in seconds with AI, so you can skip the blank canvas and start designing with confidence.

-
+
+ +
+

Learn more

+
+
-
-
-
-
-
-
-
- -
-
+
+
+
+
+
+
-
-
-
-
CMS
-
-
-

Manage and update your content effortlessly with a built-in CMS. Keep your site fresh without touching code.

-
-
- -
-
+
-
-
-
-
-
-
-
- -
-
+
+
+
+
Design
-
-
-
-
CMS
-
-
-

Manage and update your content effortlessly with a built-in CMS. Keep your site fresh without touching code.

-
-
- +
+

Craft responsive layouts and bring them to life with smooth effects, interactions, and animations. Build exactly what you imagine, visually.

-
+
+ +
+

Learn more

+
+
-
-
-
-
-
-
-
- -
-
+
+
+
+
+
+
-
-
-
-
CMS
-
-
-

Manage and update your content effortlessly with a built-in CMS. Keep your site fresh without touching code.

-
-
- -
-
+
-
-
-
-
-
-
-
- -
-
+
+
+
+
Design
-
-
-
-
Collaborate
-
-
-

Whether you’re collaborating on the canvas or editing copy directly on the page, updates are seamless and handoff-free.

-
-
- +
+

Craft responsive layouts and bring them to life with smooth effects, interactions, and animations. Build exactly what you imagine, visually.

-
+
+ +
+

Learn more

+
+
-
-
-
-
-
-
-
- -
-
+
+
+
+
+
+
-
-
-
-
Collaborate
-
-
-

Whether you’re collaborating on the canvas or editing copy directly on the page, updates are seamless and handoff-free.

-
-
- -
-
+
-
-
-
-
-
-
-
- -
-
+
+
+
+
Design
-
-
-
-
Collaborate
-
-
-

Whether you’re collaborating on the canvas or editing copy directly on the page, updates are seamless and handoff-free.

-
-
- +
+

Craft responsive layouts and bring them to life with smooth effects, interactions, and animations. Build exactly what you imagine, visually.

-
+
+ +
+

Learn more

+
+
-
+ +
+
+
+
+ +
+
+
+
+
+
+
CMS
+
+
+

Manage and update your content effortlessly with a built-in CMS. Keep your site fresh without touching code.

+
+
+ +
+

Learn more

+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
CMS
+
+
+

Manage and update your content effortlessly with a built-in CMS. Keep your site fresh without touching code.

+
+
+ +
+

Learn more

+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
CMS
+
+
+

Manage and update your content effortlessly with a built-in CMS. Keep your site fresh without touching code.

+
+
+ +
+

Learn more

+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
Collaborate
+
+
+

Whether you’re collaborating on the canvas or editing copy directly on the page, updates are seamless and handoff-free.

+
+
+ +
+

Learn more

+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
Collaborate
+
+
+

Whether you’re collaborating on the canvas or editing copy directly on the page, updates are seamless and handoff-free.

+
+
+ +
+

Learn more

+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
Collaborate
+
+
+

Whether you’re collaborating on the canvas or editing copy directly on the page, updates are seamless and handoff-free.

+
+
+ +
+

Learn more

+
+
+
+
@@ -3420,1937 +2522,1511 @@ test('formatHtmlForPrompt', async () => {
-
-
-
- 3D render -
-
-
-
-
Analytics & insights
-
-
-

Track traffic, measure performance, and monitor conversions.

-
+
+
+ 3D render +
+
+
+
+
Analytics & insights
-
- -
-

Learn more

-
-
-
-
-
+
+

Track traffic, measure performance, and monitor conversions.

-
-
-
-
-
-
-

January 9, 2026

+ +
+

Learn more

+
+
+
+
+
+
+
+
+

January 9, 2026

+
+
+

Pageviews

-
-
-
-
-

Pageviews

-
-
-

258,156

-
-
-
-
-
-

Visitors

-
-
-

85,458

-
-
-
-
-
-
-
-
-
-

Overview

-
-
-
-
-
-
-
-
-
-
-
-

Live Visitors

-
-
-
-
400
-
-
-
-
-

Unique Visitors

-
-
-
1.7M
-
-
-
-
-

Total Pageviews

-
-
-
3.2M
-
-
+
+

258,156

-

330k

+

Visitors

-
-
- -
-
- +
+

85,458

+
+
+
+
+
+
+
+
+

Overview

-
-
+
-
-
-

Sources

-
-
-
-

Referrer

-
- -
+
+
+
+
+
+

Live Visitors

-
-
+
+
400
+
+
+
+
+

Unique Visitors

+
+
+
1.7M
+
+
+
+
+

Total Pageviews

+
+
+
3.2M
+
+
+
+
+
+
+

330k

+
+ + +
+
+
+
+
+

Sources

+
+
+
+

Referrer

+
+ +
+
+
+
+
+
+
+ +
+

google.com

+
+
+

436K

+
+
+
+ +
+

chatgpt.com

+
+
+

189K

+
+
+
+
+ +
+

linkedin.com

+
+
+
+

96K

+
+
-
-
- -
-
-

google.com

-
-
-

436K

-
-
-
-
- -
-
-

chatgpt.com

-
-
-

189K

-
-
-
-
+ -
-

linkedin.com

-
-
-
-

96K

-
-
-
- - -
-
-

youtube.com

-
-
-
-

82K

-
+
+

youtube.com

-
-
- -
-
-

bing.com

-
-
-

71K

-
-
+
+
+

82K

-
- -
-

x.com

-
-
-

49K

-
-
+
+
+ +
+

bing.com

+
+

71K

+
+
+
+
+ +
+

x.com

+
+
+

49K

+
+
-
+
+
+
+
+

Pages

+
+
+
+

All

+
+ +
+
+
+
+ +
+

Home

+
+
+

1.8M

+
+
+
+
+ +
+

/pricing

+
+
+
+

156K

+
+
+
+ +
+

/gallery

+
+
+

91K

+
+
+
+
+ +
+

/updates

+
+
+

44K

+
+
+
+
+ +
+

/features/design

+
+
+

39K

+
+
+
+
+
+ +
+

/features/cms

+
+
+

27K

+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ 3D render +
+
+
+
+
Analytics & insights
+
+
+

Track traffic, measure performance, and monitor conversions.

+
+
+ +
+

Learn more

+
+
+
+
+
+
+
+
+

January 9, 2026

+
+
+

Pageviews

+
+
+

258,156

+
+
+
+
+

Visitors

+
+
+

85,458

+
+
+
+
+
+
+
+
+

Overview

+
+
+
+
+
+
+
+
+
+
+

Live Visitors

+
+
+
+
400
+
+
+
+
+

Unique Visitors

+
+
+
1.7M
+
+
+
+
+

Total Pageviews

+
+
+
3.2M
+
+
+
+
+
+
+

330k

+
+ + +
+
+
+
+
+

Sources

+
+
+
+

Referrer

+
+ +
+
+
+
+
+
+
+ +
+

google.com

+
+
+

436K

+
+
+
+ +
+

chatgpt.com

+
+
+

189K

+
+
+
+
+ +
+

linkedin.com

+
+
+
+

96K

+
+
+
+
+ + +
+
+

youtube.com

+
+
+
+

82K

+
+
+
+ +
+

bing.com

+
+
+

71K

+
+
+
+
+ +
+

x.com

+
+
+

49K

+
+
+
+
+
+
+
+
+
+

Pages

+
+
+
+

All

+
+ +
+
+
+
+ +
+

Home

+
+
+

1.8M

+
+
+
+
+ +
+

/pricing

+
+
+
+

156K

+
+
+
+ +
+

/gallery

+
+
+

91K

+
+
+
+
+ +
+

/updates

+
+
+

44K

+
+
+
+
+ +
+

/features/design

+
+
+

39K

+
+
+
+
+
+ +
+

/features/cms

+
+
+

27K

+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ 3D render +
+
+
+
+
Analytics & insights
+
+
+

Track traffic, measure performance, and monitor conversions.

+
+
+ +
+

Learn more

+
+
+
+
+
+
+
+
+

January 9, 2026

+
+
+

Pageviews

+
+
+

258,156

+
+
+
+
+

Visitors

+
+
+

85,458

+
+
+
+
+
+
+
+
+

Overview

+
+
+
+
+
+
+
+
+
+
+

Live Visitors

+
+
+
+
400
+
+
+
+
+

Unique Visitors

+
+
+
1.7M
+
+
+
+
+

Total Pageviews

+
+
+
3.2M
+
+
+
+
+
+
+

330k

+
+ + +
+
+
+
+
+

Sources

+
+
+
+

Referrer

+
+ +
+
+
+
+
+
+
+ +
+

google.com

+
+
+

436K

+
+
+
+ +
+

chatgpt.com

+
+
+

189K

+
+
+
+
+ +
+

linkedin.com

+
+
+
+

96K

+
+
+
+
+ + +
+
+

youtube.com

+
+
+
+

82K

+
+
+
+ +
+

bing.com

+
+
+

71K

+
+
+
+
+ +
+

x.com

+
+
+

49K

+
+
+
+
+
+
+
+
+
+

Pages

+
+
+
+

All

+
+ +
+
+
+
+ +
+

Home

+
+
+

1.8M

+
+
+
+
+ +
+

/pricing

+
+
+
+

156K

+
+
+
+ +
+

/gallery

+
+
+

91K

+
+
+
+
+ +
+

/updates

+
+
+

44K

+
+
+
+
+ +
+

/features/design

+
+
+

39K

+
+
+
+
+
+ +
+

/features/cms

+
+
+

27K

+
+
+
+
+
+
+
+
+
+
+ Framer UI +
+
+
+
+
+
+
+
+ 3D render +
+
+
+
+
A/B Testing & optimization
+
+
+

A/B testing, funnels, and built-in growth insights.

+
+
+ +
+

Learn more

+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+

Pages

-
-
-

All

-
- -
-
-
-
- -
-

Home

-
-
-

1.8M

-
-
-
-
- -
-

/pricing

-
-
-
-

156K

-
-
-
- -
-

/gallery

-
-
-

91K

-
-
-
-
- -
-

/updates

-
-
-

44K

-
-
-
-
- -
-

/features/design

-
-
-

39K

-
-
-
-
-
- -
-

/features/cms

-
-
-

27K

-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
- 3D render -
-
-
-
-
Analytics & insights
-
-
-

Track traffic, measure performance, and monitor conversions.

-
-
- -
-
-
-
-
-
-
-

January 9, 2026

-
-
-
-
-
-

Pageviews

-
-
-

258,156

-
-
-
-
-
-

Visitors

-
-
-

85,458

-
-
-
-
-
-
-
-
-

Overview

-
-
-
-
-
-
-
-
-
-
-
-

Live Visitors

-
+

Layers

-
400
+

Assets

-
-
-

Unique Visitors

-
-
-
1.7M
-
-
-
-
-

Total Pageviews

-
-
-
3.2M
-
-
-
-
-
-
-

330k

-
-
-
-
- -
-
-
-
-
-
-
-
-

Sources

-
-
-
-

Referrer

-
- -
+
+
+

Design

+
-
-
-
-
-
-
- -
-
-

google.com

-
-
-

436K

-
-
-
-
- -
-
-

chatgpt.com

-
-
-

189K

-
-
-
-
- -
-

linkedin.com

-
-
-
-

96K

-
-
-
-
- - -
-
-

youtube.com

-
-
-
-

82K

-
-
-
-
- -
-
-

bing.com

-
-
-

71K

-
-
-
-
- -
-

x.com

-
-
-

49K

-
-
-
-
-
-
-

Pages

-
-
-

All

+ +
+
+ + +
+

Home

+
+
+
+
+
+

A

- +
+
+

B

+
+
+

Version B

+
+
+
+
+

C

+
+
+

Version C

-
-
- -
-

Home

-
-
-

1.8M

-
-
-
+
- + +

/pricing

-
-
-

156K

+
+
+

A

+
+
+

B

+
- + +
-

/gallery

+

/features

-
-

91K

-
-
- + +
-

/updates

+

/blog

-
-

44K

-
-
- + +
-

/features/design

+

/about

-
-

39K

-
-
-
- + +
-

/features/cms

-
-
-

27K

+

/404

-
+
+
+
+ +
+
+
+

Desktop

+
+
+

·

+
+
+

1200

+
+
+
+
+
+
+ Framer website +
+
+
+
-
-
- -
+
+
+
+
-
-
+
-
-
-
- 3D render -
-
-
-
-
Analytics & insights
-
-
-

Track traffic, measure performance, and monitor conversions.

-
+
+
+ 3D render +
+
+
+
+
A/B Testing & optimization
- +
+
+
+
+
+
+
+ +
+
-
-
- -
-
-
-
-
-
-
-
-

January 9, 2026

-
-
-
-
-
-

Pageviews

-
-
-

258,156

-
-
-
-
-
-

Visitors

-
-
-

85,458

-
-
-
-
-
-
+
-
-
-

Overview

-
-
-
-
-
-
-
-
-
-
-
-

Live Visitors

-
-
-
-
400
-
-
-
-
-

Unique Visitors

-
-
-
1.7M
-
-
-
-
-

Total Pageviews

-
-
-
3.2M
-
-
-
-
-
-
-

330k

-
-
-
- -
-
- -
-
-
-
-
-
-
-
-

Sources

-
-
-
-

Referrer

-
- -
-
-
-
-
-
-
-
-
- -
-
-

google.com

-
-
-

436K

-
-
-
-
- -
-
-

chatgpt.com

-
-
-

189K

-
-
-
-
- -
-

linkedin.com

-
-
-
-

96K

-
-
-
-
- - -
-
-

youtube.com

-
-
-
-

82K

-
-
-
-
- -
-
-

bing.com

-
-
-

71K

-
-
-
-
- -
-

x.com

-
-
-

49K

-
-
-
-
-
-
-

Pages

-
-
-

All

+
+

Layers

+
+
+

Assets

+
+
+
+
+
+
+

Design

+
+ +
+
+
+

Pages

+
+ +
+
+ + +
+

Home

+
+
+
+
+
+

A

- +
+
+

B

+
+
+

Version B

+
+
+
+
+

C

+
+
+

Version C

-
-
- -
-

Home

-
-
-

1.8M

-
-
-
+
- + +

/pricing

-
-
-

156K

+
+
+

A

+
+
+

B

+
- + +
-

/gallery

+

/features

-
-

91K

-
-
- + +
-

/updates

+

/blog

-
-

44K

-
-
- + +
-

/features/design

+

/about

-
-

39K

-
-
-
- + +
-

/features/cms

-
-
-

27K

+

/404

-
+
+
+
+ +
+
+
+

Desktop

+
+
+

·

+
+
+

1200

+
+
+
+
+
+
+ Framer website +
+
+
+
-
-
- Framer UI -
+
+
+
+
-
-
+
-
-
-
- 3D render -
-
-
-
-
A/B Testing & optimization
-
-
-

A/B testing, funnels, and built-in growth insights.

-
+
+
+ 3D render +
+
+
+
+
A/B Testing & optimization
-
- -
-

Learn more

-
-
-
-
-
+
+

A/B testing, funnels, and built-in growth insights.

-
-
-
-
-
- +
+
+
+
+
+
+
+
-
+
+
+
+
+
+

Pages

+
+
+

Layers

+
+
+

Assets

+
+
+
+
+
+

Design

+
+ +
+
+
+

Pages

+
+ +
+
+ + +
+

Home

+
+
+
-
-
-

Pages

-
+
+

A

-
-
-

Layers

-
+
+

Control

-
-
-
-

Assets

-
+
+
+
+

B

+
+
+

Version B

+
+
+
+
+

C

+
+
+

Version C

-
-
-

Design

-
- -
-
-

Pages

-
- -
-
-
- -
+
-

Home

-
-
-
-
-
-
-

A

-
-
-
-

Control

-
+

/pricing

-
-
-

B

-
+
+

A

-

Version B

-
-
-
-
-
-

C

-
-
-
-

Version C

+

B

-
- - -
-

/pricing

-
-
-
-
-

A

-
-
-
-
-

B

-
-
-
+ + +
+

/features

-
- - -
-

/features

-
-
-
- - -
-

/blog

-
-
-
- - -
-

/about

-
-
-
-
- - -
-

/404

-
-
-
-
-
-
-
-
-
-
- -
-
-
-

Desktop

-
-
-

·

-
-
-

1200

-
-
-
-
-
-
- Framer website -
-
+ + +
+

/blog

+
+
+
+ + +
+

/about

+
+
+
+ + +
+

/404

-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- 3D render -
-
-
-
-
A/B Testing & optimization
-
-
-

A/B testing, funnels, and built-in growth insights.

-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-

Pages

-
-
-
-
-

Layers

-
-
-
-
-
-

Assets

-
-
-
+
+
+
+
-
-
-

Design

-
- +
+

Desktop

-
-
-

Pages

-
- +
+

·

-
-
- -
- -
-

Home

-
-
-
-
-
-
-

A

-
-
-
-

Control

-
-
-
-
-
-

B

-
-
-
-

Version B

-
-
-
-
-
-

C

-
-
-
-

Version C

-
-
-
-
-
- - -
-

/pricing

-
-
-
-
-

A

-
-
-
-
-

B

-
-
-
-
-
- - -
-

/features

-
-
-
- - -
-

/blog

-
-
-
- - -
-

/about

-
-
-
-
- - -
-

/404

-
-
-
+
+

1200

-
-
-
-
- -
-
-
-

Desktop

-
-
-

·

-
-
-

1200

-
-
-
-
-
-
-
-
- Framer website -
-
-
+
+
+
+ Framer website
-
-
-
-
-
-
-
+
+
+ Framer UI +
+
+
-
-
-
- 3D render -
-
-
-
-
A/B Testing & optimization
-
-
-

A/B testing, funnels, and built-in growth insights.

-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-

Pages

-
-
-
-
-

Layers

-
-
-
-
-
-

Assets

-
-
-
-
-
-
-
-

Design

-
- -
-
-
-

Pages

-
- -
-
-
- -
- -
-

Home

-
-
-
-
-
-
-

A

-
-
-
-

Control

-
-
-
-
-
-

B

-
-
-
-

Version B

-
-
-
-
-
-

C

-
-
-
-

Version C

-
-
-
-
-
- - -
-

/pricing

-
-
-
-
-

A

-
-
-
-
-

B

-
-
-
-
-
- - -
-

/features

-
-
-
- - -
-

/blog

-
-
-
- - -
-

/about

-
-
-
-
- - -
-

/404

-
-
-
-
-
-
-
-
-
-
- -
-
-
-

Desktop

-
-
-

·

-
-
-

1200

-
-
-
-
-
-
-
-
- Framer website -
-
-
-
-
-
-
-
-
-
-
-
-
- Framer UI -
-
-
-
+
+
+ 3D render
-
-
-
-
- 3D render -
-
-
-
-
SEO & performance
-
-
-

Optimize every page with built-in SEO settings, metadata, and blazing-fast hosting.

-
+
+ +
+
+
+
+
-

Learn more

+

Google Lighthouse

+
+
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-

SEO

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-

Performance

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-

Accessibility

-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- 3D render -
-
-
-
-
SEO & performance
-
-
-

Optimize every page with built-in SEO settings, metadata, and blazing-fast hosting.

-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-

SEO

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-

Performance

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-

Accessibility

-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- 3D render -
-
-
-
-
SEO & performance
-
-
-

Optimize every page with built-in SEO settings, metadata, and blazing-fast hosting.

-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-

SEO

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-

Performance

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
-
-
-
-
-
-
-

Accessibility

-
-
-
-
-
-
-
- Lighthouse score
-
+
+
+ +
+
+
+
+
+
+ 3D render +
+
+
+
+
SEO & performance
+
+
+

Optimize every page with built-in SEO settings, metadata, and blazing-fast hosting.

+
+
+ +
+

Learn more

+
+
+
+
+
+
+
+ +
+

Google Lighthouse

+
+
+
+
+
+
+
0
+
+
+

SEO

+
+
+
+
+
+
0
+
+
+

Performance

+
+
+
+
+
+
0
+
+
+

Accessibility

+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ 3D render +
+
+
+
+
SEO & performance
+
+
+

Optimize every page with built-in SEO settings, metadata, and blazing-fast hosting.

+
+
+ +
+

Learn more

+
+
+
+
+
+
+
+ +
+

Google Lighthouse

+
+
+
+
+
+
+
0
+
+
+

SEO

+
+
+
+
+
+
0
+
+
+

Performance

+
+
+
+
+
+
0
+
+
+

Accessibility

+
+
+
+
+
+
+
+ Lighthouse score +
+
+
+
@@ -5363,1350 +4039,1148 @@ test('formatHtmlForPrompt', async () => {
-
-
-
-
-
-
- - - - - + + + + +
@@ -9154,1381 +7314,1355 @@ test('formatHtmlForPrompt', async () => {

Get pro help from handpicked experts

-
- -
- -
- -
- -
- -
-
-
- - + +
-
-
- - + +
-
-
- - + +
@@ -12689,105 +10807,467 @@ test('formatHtmlForPrompt', async () => {

Launch faster with community resources

-
- -
- -
- -
- -
- -
- -
- -
- -
+ +
+
+
+ -
-
- +
+
+ -
-
-
-
- -
-
-
+
@@ -14783,8 +12708,6 @@ test('formatHtmlForPrompt', async () => {
-
-
@@ -14796,1553 +12719,1122 @@ test('formatHtmlForPrompt', async () => {
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
+
+
-
- -
-
- -
-
-
+
+ + +
-
@@ -16415,9 +13907,7 @@ test('removes style and class attributes by default', async () => { const result = await formatHtmlForPrompt({ html }) expect(result).toMatchInlineSnapshot(` - "
- Hello -
+ "Hello " `) }) diff --git a/playwriter/src/snapshots/shadcn-ui-accessibility.md b/playwriter/src/snapshots/shadcn-ui-accessibility.md index f6b8a17..9ece413 100644 --- a/playwriter/src/snapshots/shadcn-ui-accessibility.md +++ b/playwriter/src/snapshots/shadcn-ui-accessibility.md @@ -25,10 +25,10 @@ Return value: - generic [ref=e18]: Search documentation... - generic [ref=e19]: - generic: ⌘K - - link "104k" [ref=e20] [cursor=pointer]: + - link "105k" [ref=e20] [cursor=pointer]: - /url: https://github.com/shadcn-ui/ui - img - - generic [ref=e21]: 104k + - generic [ref=e21]: 105k - button "Toggle theme" [ref=e22]: - img - generic [ref=e23]: Toggle theme