[docs] Slim README, add FastH3 Omni news, add a docs news archive (#2066)

Co-authored-by: Aryan Kumar <156166681+aryan5v@users.noreply.github.com>
This commit is contained in:
FV SuperAgent
2026-11-08 14:49:48 -08:00
committed by GitHub
co-authored by Aryan Kumar
parent ce970eb715
commit 866a3cdb91
7 changed files with 75 additions and 54 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
const NEWS_HEADINGS = ["news", "recent updates", "what's new", "latest news", "announcements"];
const NEWS_HEADINGS = ["news", "recent news", "recent updates", "what's new", "latest news", "announcements"];
const PROJECT_HEADINGS = [
"awesome work using fastvideo or our research projects",
+4
View File
@@ -8,6 +8,10 @@
"href": "/fast-models",
"icon": "boxes"
},
{
"label": "News",
"href": "/news"
},
{
"label": "Get started",
"icon": "rocket",
+2 -2
View File
@@ -265,7 +265,7 @@ export async function transferDocs() {
.replace(/\[([^\]]+)\]\([^)]+\)/g, "$1")
.split(/:\s|\.\s/)[0]
.replace(/\.$/, "");
const href = links.at(-1)?.[2] ?? "https://github.com/hao-ai-lab/FastVideo#news";
const href = links.at(-1)?.[2] ?? "https://hao-ai-lab.github.io/FastVideo/news/";
const iso = date.replaceAll("/", "-");
const label = new Intl.DateTimeFormat("en", {
month: "short",
@@ -277,7 +277,7 @@ export async function transferDocs() {
});
await writeFile(
join(content, "_snippets/home-news.mdx"),
`<section className="home-news not-prose" aria-labelledby="recent-news">\n<div className="home-news-heading"><h2 id="recent-news">Recent news</h2><a className="home-news-more" href="https://github.com/hao-ai-lab/FastVideo#news">All announcements →</a></div>\n<ul>\n${recent.join("\n")}\n</ul>\n</section>\n`,
`<section className="home-news not-prose" aria-labelledby="recent-news">\n<div className="home-news-heading"><h2 id="recent-news">Recent news</h2><a className="home-news-more" href="https://hao-ai-lab.github.io/FastVideo/news/">All announcements →</a></div>\n<ul>\n${recent.join("\n")}\n</ul>\n</section>\n`,
);
await writeFile(join(content, "_snippets/home-projects.mdx"), asMdx(projects.trim()));
await rm(join(content, "index.md"));
+9
View File
@@ -59,6 +59,15 @@ test("stops at the next heading and ignores other sections", () => {
assert.doesNotMatch(news[1].text, /Awesome work/);
});
test("accepts the Recent news heading used by the README", () => {
const { news } = readReadmeSections(legacy.replace("## NEWS", "## Recent news"));
assert.equal(news.length, 2);
assert.deepEqual(
news.map((item) => item.date),
["2026/10/06", "2026/09/15"],
);
});
test("returns null when a section is missing", () => {
assert.deepEqual(readReadmeSections("# FastVideo\n\n## Overview\n"), { news: null, projects: null });
});