Skip to content

[Docs] Add a development guide and a Blog section, lay out the indexes as cards, and reorder the API and Benchmarks pages - #61

Merged
lcy-seso merged 2 commits into
tile-ai:mainfrom
lcy-seso:dev-guide
Oct 2, 2026
Merged

lcy-seso merged 2 commits into
tile-ai:mainfrom
lcy-seso:dev-guide

Conversation

@lcy-seso

@lcy-seso lcy-seso commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Problems

  • The site has no page on setting up a development environment, running the tests or opening a PR.
  • Home's introduction does not say what TileOPs is for, and the site has no place for technical write-ups.
  • The User Guide and Design indexes are flat tables, in an order that does not follow how a reader learns the system.
  • The API Reference and Benchmarks pages run in tileops._FAMILIES order, which splits ops a model uses together: RoPE far from Elementwise, Quantization before GEMM, MoE before Attention.
  • A link in running text looks like plain text until it is hovered.
  • performance-guides/trace-timeline is the one page without a Chinese version.

Changes

  • Add user-guide/development as the first User Guide page, Chinese-authored with an English version: getting the code, the dev image and a local install, kernel compilation and caching, the test tiers, when a benchmark is needed, and the title, description and CI of a PR. It names no image tag or version a release would change, and links where they are kept.
  • Add a Blog section with its index page only; posts are added as they are published. It is built from plain pages, because Material's blog plugin renders no posts under mkdocs-static-i18n.
  • Rewrite Home's introduction around three goals: maintainable, verifiable, tunable.
  • Lay out the User Guide and Design indexes as grouped cards, and order their nav the same way. The Markdown stays a plain list per group; hooks.py marks the lists and extra.css draws the cards.
  • Reorder the Benchmarks pages and the API Reference nav to Elementwise, RoPE, Reduction, Normalization, Conv & Pool, GEMM, Quantization & Dequantization, Attention, MoE, Sampling, Linear Attention, SSM, then the rest. DATA_PAGES, _BENCH_ORDER and the API nav agree.
  • Merge the Top-k API page into Sampling, and redirect /api/topk/ there in both locales through on_post_build.
  • Show the Benchmarks workload key in one column.
  • Give every link in running text an arrow, east within the site and north-east off it, with a teal wash on hover. Same-site absolute links are made relative.
  • Translate performance-guides/trace-timeline into Chinese, with the English page's anchors.
  • Chinese label for User Guide is now 用户指南; add the missing Op Interface Reference nav translation.
  • Record the new rules in CLAUDE.md: the Blog section, card indexes, page order, redirects, link styling.
  • mkdocs build reports only griffe: warnings. pytest, ruff, stylelint and check_api_pages.py pass. Golden pages unchanged.

…tyle links in prose

The Blog section holds technical explorations from building TileOPs. It starts
with its index page only; posts are added to nav and to the index as they are
published. The section is built from plain pages rather than Material's blog
plugin: under mkdocs-static-i18n that plugin renders no posts and warns on its
archive pages. hooks.py gives a post's subtitle its class, so no Markdown page
carries styling.

Home's introduction now states what TileOPs is for: a library designed for
agents and built by them, held to code-quality requirements so the project
stays maintainable, its results verifiable and its kernels tunable.

Every link in running text carries an arrow, east within the site and
north-east off it, and a teal wash on hover.
… and reorder the Benchmarks and API Reference pages

The development guide is the first User Guide page. It covers getting the code,
the dev image and a local install, when kernels compile, the test tiers, when a
benchmark is needed, and the title, description and CI of a pull request. It
names no image tag or version that a release would change; it links where they
are kept instead. The Chinese page is the source; the English page follows it.

The User Guide and Design indexes group their pages by topic, and each page
shows as a card with a one-line description. The Markdown stays a plain list
per group; hooks.py marks the lists and extra.css draws the cards. The nav
follows the same order, and the Chinese label for User Guide is now 用户指南.

The timeline trace guide was the one page without a Chinese version. It mirrors
TileOPs docs/perf/trace-timeline.md, so the translation follows that file.

The Benchmarks pages, and the API Reference nav after them, run in the order a
reader meets the ops: Elementwise and RoPE, the reductions and normalizations,
Conv & Pool, GEMM and Quantization, Attention, MoE and Sampling, then the
sequence-mixing kernels. The workload key above each table lists one label per
line, with what it ran on under it.
Copilot AI balanced review requested due to automatic review settings October 2, 2026 05:09

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@lcy-seso
lcy-seso merged commit 6bb1b02 into tile-ai:main Oct 2, 2026
3 checks passed
@lcy-seso
lcy-seso deleted the dev-guide branch October 2, 2026 05:11
lcy-seso added a commit that referenced this pull request Oct 2, 2026
## Problems

- `assets/extra.css` is served under the same URL whatever it contains,
and GitHub Pages lets browsers cache it. A browser holding an older copy
renders new markup without its styles: after #61 the User Guide cards
showed as plain headings and lists until a hard refresh.

## Changes

- `hooks.py` appends a hash of each local stylesheet's content to its
`extra_css` URL in `on_config`, e.g. `assets/extra.css?v=93090c7963`, so
the URL changes whenever the styles do. Entries that already carry a
query or are not local files are left alone.
- `CLAUDE.md` records that the hook versions the URL, so no one adds
`?v=` by hand.
- `mkdocs build` reports only `griffe:` warnings; the English and
Chinese pages both link the versioned URL. `pytest` and `ruff` pass.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants