惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
Lohrmann on Cybersecurity
Martin Fowler
Martin Fowler
Engineering at Meta
Engineering at Meta
腾讯CDC
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
TaoSecurity Blog
TaoSecurity Blog
博客园_首页
Vercel News
Vercel News
Hugging Face - Blog
Hugging Face - Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Last Week in AI
Last Week in AI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
The Exploit Database - CXSecurity.com
量子位
Project Zero
Project Zero
A
Arctic Wolf
小众软件
小众软件
NISL@THU
NISL@THU
C
CERT Recently Published Vulnerability Notes
有赞技术团队
有赞技术团队
MongoDB | Blog
MongoDB | Blog
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
N
News and Events Feed by Topic
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Troy Hunt's Blog
P
Privacy & Cybersecurity Law Blog
Security Latest
Security Latest
B
Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
D
DataBreaches.Net
Schneier on Security
Schneier on Security
The Hacker News
The Hacker News
K
Kaspersky official blog
C
Check Point Blog
Hacker News: Ask HN
Hacker News: Ask HN
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Webroot Blog
Webroot Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
人人都是产品经理
人人都是产品经理
AI
AI
Cisco Talos Blog
Cisco Talos Blog
MyScale Blog
MyScale Blog
Cloudbric
Cloudbric
B
Blog RSS Feed
S
Schneier on Security
P
Palo Alto Networks Blog

Recent Commits to css-houdini-drafts:main

[css-properties-values-api] Use relevant global realm, not current. A… Remove leftover merge conflict marker (#1173) · w3c/css-houdini-drafts@bfc9454 Update all api.csswg.org/bikeshed URLs to reference spec-generator (#… · w3c/css-houdini-drafts@15d0412 [css-layout-api][explainer] add mandatory intrinsicSizes function (#1… · w3c/css-houdini-drafts@a8b415e Reflect master=>main branch renaming in internal hyperlinks Fix build failure when no Overview.html files exist (#1166) · w3c/css-houdini-drafts@86359e0 Add GitHub Pages autopublishing workflow (#1165) [font-metrics-api-1][editorial] Fixed Bikeshed issues · w3c/css-houdini-drafts@0b7adca [css-properties-values-api-1][editorial] Fixed Bikeshed issues · w3c/css-houdini-drafts@a1eb191 Added .vscode to .gitignore · w3c/css-houdini-drafts@090cd24 [box-tree-api-1][editorial] Fixed Bikeshed issues · w3c/css-houdini-drafts@17fcaf6 [css-typed-om-2][editorial] Fixed Bikeshed issues · w3c/css-houdini-drafts@eb196d6 [css-typed-om-1][editorial] Fixed Bikeshed issues [css-layout-api-1][editorial] Fixed Bikeshed issues · w3c/css-houdini-drafts@79124e7 [css-animation-worklet-1][editorial] Fixed Bikeshed issues · w3c/css-houdini-drafts@6c343e6 [css-typed-om-1] Correct a couple of typos (#1150) · w3c/css-houdini-drafts@8172261 [css-typed-om-1] Correct `this` type in StylePropertyMapReadOnly meth… · w3c/css-houdini-drafts@8f910ae [css-typed-om] Use undefined for setters. (#1143) · w3c/css-houdini-drafts@aafb3d5 [css-typed-om] Add missing steps to reify oklab() and oklch() https:/…
Add versioned URL aliases and legacy redirects · w3c/css-houdini-drafts@acae9ee
sideshowbark · 2026-03-04 · via Recent Commits to css-houdini-drafts:main
Original file line numberDiff line numberDiff line change

@@ -169,6 +169,28 @@ def escape_html(text):

169169

if shortname != currentWorkDir:

170170

create_symlink(shortname, currentWorkDir)

171171
172+

# Create versioned aliases (e.g., font-metrics-api-1 → font-metrics-api)

173+

# for specs whose folder names don’t include the level suffix.

174+

for shortname, specgroup in specgroups.items():

175+

for spec in specgroup:

176+

if spec["level"]:

177+

versioned_name = f"{spec['shortname']}-{spec['level']}"

178+

if versioned_name != spec["dir"]:

179+

create_symlink(versioned_name, spec["dir"])

180+
181+

# Legacy path redirects for old URLs that used different names.

182+

LEGACY_REDIRECTS = {

183+

"css-animationworklet-1": "css-animation-worklet-1",

184+

"css-animationworklet": "css-animation-worklet-1",

185+

}

186+
187+

for old_path, new_path in LEGACY_REDIRECTS.items():

188+

if os.path.exists(new_path) and not os.path.exists(old_path):

189+

try:

190+

os.symlink(new_path, old_path)

191+

except OSError:

192+

pass

193+
172194

with open('./timestamps.json', 'w') as f:

173195

json.dump(timestamps, f, indent=2, sort_keys=True)

174196