Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 17 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ A bilingual, buildless website showcasing seven open-source inference projects:
python3 -m http.server 8000 --bind 127.0.0.1
```

Open [http://localhost:8000](http://localhost:8000). The deployable files are already at the repository root: `index.html`, `styles.css`, `assistant.css`, `app.js`, `showcase.js`, `inferrsi.js`, `assistant.js`, `video-resources.js`, `robots.txt`, `sitemap.xml`, and `assets/`.
Open [http://localhost:8000](http://localhost:8000). The deployable files are already at the repository root: `index.html`, `styles.css`, `assistant.css`, `app.js`, `showcase.js`, `inferrsi.js`, `assistant.js`, `resource-library.js`, `robots.txt`, `sitemap.xml`, and `assets/`.

The stylesheet requests DM Sans and Manrope from Google Fonts. System-font fallbacks remain available when the external font service cannot be reached.

Expand All @@ -26,10 +26,11 @@ Optional maintenance checks use Node.js 18+ built-in modules only:

```sh
node --check app.js
node --check video-resources.js
node --check resource-library.js
node --check prepare-initial-content.cjs
node --check qa-interactions.cjs
node qa-interactions.cjs
node qa-resources.cjs
```

The interaction suite reads the current `index.html` and runs `app.js` in a simulated DOM using Node's VM. It covers filtering, bilingual content, keyboard navigation, project/poster dialogs, focus return, motion preferences, blocked storage, and all six architecture viewers. This is a logic regression check; it does not replace real-browser visual or accessibility testing.
Expand Down Expand Up @@ -57,6 +58,8 @@ Bind each custom domain in its Pages project. The registrar must delegate `infer

## Latest additions

- A bilingual Articles column with 14 verified technical articles and practical guides covering all seven projects, separate filters and search, and six entries per page.

- A bilingual Video resources column for external learning tutorials and project talks, with project/type filters and search. Eleven links cover vLLM-Omni, afd-plugin and vLLM Router, with available publisher information and verification sources retained.
- A repo-grouped video showcase with five vLLM-Omni videos and two InferRSI English demos, local poster previews, click-to-play and fullscreen controls.
- InferRSI as a seventh project and an evidence-driven optimization direction, with a brand-styled, scalable architecture SVG.
Expand All @@ -81,7 +84,7 @@ for the optional dependency-free Node preview and interaction checklist.

## 视频资源 / Video resources

首页导航的「视频资源」指向 `#video-resources`,与「演示展示」分别维护。专栏收录学习教程、技术分享和宣讲回放的外部链接,点击后在新窗口打开原发布平台,不嵌入或下载视频。
首页导航的「视频专栏」指向 `#video-resources`,与「演示展示」分别维护。专栏收录学习教程、技术分享和宣讲回放的外部链接,点击后在新窗口打开原发布平台,不嵌入或下载视频。

资源清单集中在 `assets/video-resources.json`。当前收录 11 条:vLLM-Omni 8 条、afd-plugin 2 条、vLLM Router 1 条;其他四个项目暂未找到可核实的教程或宣讲回放。用户指定合集分集时保留 `p` 参数,并移除分享链接中的跟踪参数;可用 B 站官方分页元数据核实分集标题、讲者(标题明确标注时)与时长。每添加一条资源,填写以下格式;示例仅说明字段,不是已收录的视频:

Expand All @@ -105,10 +108,20 @@ for the optional dependency-free Node preview and interaction checklist.

每条已收录资源还保留 `sourceUrl`、`verifiedAt` 和 `sourceNote`,供维护者核对来源、核实日期及证据范围;有依据时记录 `eventDate`。这些维护字段不显示在视频卡片上。`publishedAt` 只填写已确认的视频上传日期,不能用会议日期或配套文章日期代替。中英文标题是便于浏览的编辑文案;原始标题与信息请以来源页面为准。首批资料来源包括 vLLM 官方 Office Hours、Conf42、Red Hat Developer、B 站原视频页面以及 vLLM 小课堂的原视频与课件索引。B 站的部分页面/API 会对自动抓取返回 412;其链接由原始页面索引或配套资料交叉核对,未逐条验证实际播放。

The library is rendered by `video-resources.js`. Project counts reflect the full catalog; results combine project, content-type, and text filters. Results are paginated at 6 videos per page, with bilingual previous/next controls and the current visible range. Changing a filter or search resets to page one; changing language preserves the current page and filters. Pagination is hidden for a single page, empty results, loading and errors. Search covers both languages, project names, platforms, publishers, and speakers. Empty catalogs, no matches, and failed requests have distinct states; failed requests can be retried.
The library is rendered by `resource-library.js`. Project counts reflect the full catalog; results combine project, content-type, and text filters. Results are paginated at 6 videos per page, with bilingual previous/next controls and the current visible range. Changing a filter or search resets to page one; changing language preserves the current page and filters. Pagination is hidden for a single page, empty results, loading and errors. Search covers both languages, project names, platforms, publishers, and speakers. Empty catalogs, no matches, and failed requests have distinct states; failed requests can be retried.

The catalog is fetched with `cache: 'no-store'` and a fresh request parameter so edits to the JSON appear on the next page reload, even when the document or previous JSON response was cached. Changing only the page URL's query string does not invalidate a separately fetched resource. The script entry also carries a version parameter to refresh older copies of the loader.

## 文章专栏 / Articles

首页导航的「文章专栏」指向 `#article-resources`。首批收录 14 篇官方博客、社区技术解读与项目实践指南,覆盖七个项目。点击「阅读原文」前往原发布平台;中英文标题和简介为本站编辑文案,正文以原文为准。

文章清单位于 `assets/article-resources.json`,与视频分开维护。字段沿用视频资源结构;类型为 `tutorial`(学习教程)或 `technical`(技术解读),可选作者字段为 `author`,无需填写 `speaker` 或 `duration`。每条记录保留 `sourceUrl`、`sourceNote` 和 `verifiedAt`,核实日期使用 `YYYY-MM-DD`。只有来源明确提供发布日期时才填写 `publishedAt`;持续更新的项目文档不使用仓库修改时间代替发布日期。

视频与文章在同一个 `#learning-resources` 区域,通过「视频专栏 / 文章专栏」页签切换,一次显示一个栏目。普通访问默认选择视频;`#video-resources` 与 `#article-resources` 深链接、首页对应导航仍可直达指定栏目。页签支持左右方向键循环切换及 Home / End;无 JavaScript 时保留两个资源清单的访问入口。

`resource-library.js` initializes the video and article libraries independently using the same rendering and filtering logic. Each keeps its own project/type filters, search, page, loading and retry state across tab and language changes. Both show at most six entries per page. Article search includes authors; links and text use the same HTTPS validation and escaping as videos. `qa-resources.cjs` exercises both libraries together, including accessible tab navigation, deep links, isolated fetch failures, invalid entries, pagination and language changes.

## 素材与许可 / Assets and licensing

See [ATTRIBUTION.md](ATTRIBUTION.md) for asset-specific sources and [licenses/](licenses/) for the retained upstream licenses. The two official upstream diagrams retain their Apache-2.0 terms. The logo, poster, and poster-based vector redraws are not assigned an open-source license by this repository. No blanket license is asserted for all website code and branding.
10 changes: 6 additions & 4 deletions SHA256SUMS
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ dc2b68dea37313b64e7a5e585f68be9164e3ebfae84ed5614a28519159a68454 ATTRIBUTION.md
fc44df75947d9534405fc9f5401de083dd2fab3e474a5f781348137ad306e10c BENCHMARK_EVIDENCE.json
00fe86be6eb9b9d39857f1833be8ab6d9ae6d39a9117a01ccfcdf3dc46a9f956 INFERRSI.md
9b37f8f61e35ca9998499716bd299a03f05d81208acae3bb35900807a0fc55ad LOCAL_PREVIEW.md
0c48cee1c5e4e1f0b193f87fa49e1b8647ba876cb422360273569225f5b74c4e README.md
cd924672b113b8d4b8cdc236a372beaf20641e2a04450a72a94db4eab511122a README.md
5655fa3532ac07d339e7c44de9118a08d2a83bf1cfeadef7395f08e440480902 SHOWCASE.md
0bc3d5f7bd34ac53892f39ab97de48a9d771ddbfc35676255fa46292e4dcae81 app.js
53cf5937ee480102fbabd8e26a52adf1e936a49c2c24d0fc1948465982466017 assets/architecture/afd.svg
Expand All @@ -20,6 +20,7 @@ ae0a52e430db46ca989b63eb679b13db0a6b90516fc70f3269172bd1c5fc2ff6 assets/archite
2972f105042a61cb960d2923dd2916d3c6e0644f27cfe73f55fedf42eeed781b assets/architecture/rlt.png
5c35d3277b107940d1cf501b5344d5e3a06f68f60cda6b34dfa274b0defdd731 assets/architecture/router-poster.svg
cc3545981d0ec428efe6dd61d35901b0fc3f8beb50f696616f5eb30a1689faae assets/architecture/router.svg
94643191d8af94adca001ac35dac5766c065805fed1c911fdd195bd9e5b608ab assets/article-resources.json
1e43c9c8b4dc78086790a41fd46369141802e12e592349f08a804107a35fa1a3 assets/favicon.svg
7b1b2d9403e7a8b83cd695adc6d5a7c9ff5b697225de3149057c0f708c1fddc5 assets/infermatrix-logo.png
79d4c4265b2d7c5635056ab49064469ab48c98dfb326e2e1fcbfbb1c3effe5ad assets/infermatrix-poster.png
Expand All @@ -46,16 +47,17 @@ f1e5d4f2cc41c9c1da69dfb3523c5659012ac8169d06c267b165af5ecd2aa698 assets/showcas
30e9b46a6d06ab864bbc7ca0289143822d1192392074dc965b0683559f6911e0 assistant.css
71ba38902b5a33b28d7bb66f5a90d83a73cbc4ca9b0d037289b7abce221a30c2 assistant.js
1c13002720c8d65a3fc98084c708b9058827ab66740ae52105991cfebc60eb8e dom-fixture.json
cc9f9f5815ecfb81c9df0ea4de1f40088fdd0ab17e336502c5cd21d3fa73e413 index.html
14f43be31694e4e0a5b416917ee02fa826a225fb13386ea6ecc8a1602474d878 index.html
9ec768282a4d526da0c76048ae1e037db9103084bd8e0d5662b22930f433660d inferrsi.js
ae0fe01b8c81c20e4a607f8608b84ac0df3b42f9e38bcaaefde92cda5c63a782 initial-data.json
0e8566ea362276878e1f38f97da49964dbea301c15d4aa9d727f97a4c39fd943 licenses/afd-plugin-LICENSE.txt
c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 licenses/vllm-omni-LICENSE.txt
19cc4e8b177647501dc4c8fa02ce38e90f0c1f3efe70fe2aa3409930bde7aae1 local-preview.cjs
250f9ee919523549bbabe67fa4585a2772a405f8364b2a370b4020e61aedb8b6 prepare-initial-content.cjs
5462843e0ed8edf7fbc2fcdca220ff496cbd0533a914ddd9c91d1e26b40d8f08 qa-interactions.cjs
587d81c6a85f504e6df43ce8ae59b70aec771b521e1bdafa15e6c0d63e25619c qa-resources.cjs
071cfc59cbb253dbaec6a544db376be8c466c35ab6590ea9302e151cf4850b09 resource-library.js
51a3881b90c67476605580f3a859becf174b8bf67d37c5c1200324613f2ab42d robots.txt
79c5f0e08b8dc1cfcae28c9e95851c2ee4f3ab7e7eb9dce09ee5303522e17d22 showcase.js
741e991c7d0bc12c49acc061ba697dcc5e57946380c708cc823f7fadcb3d6485 sitemap.xml
1e7d9d7df6e610ec11f441989b64bc51fed2770d674f5f1b6a04f718240e259d styles.css
cc80a9dffa71fd10669b5385dfa0771f9f64052d8e1bb9bc6b311bdadf0a77ad video-resources.js
71599431c0c1bc0bc73f7105ac319bb1ba6393e4532189aaad524729477d14e5 styles.css
Loading