Skip to content

feat(docs): redesign the docs for v7 with search, translations and interactive guides - #10044

Open
joshistoast wants to merge 30 commits into
mainfrom
feat/docs-v7
Open

joshistoast wants to merge 30 commits into
mainfrom
feat/docs-v7

Conversation

@joshistoast

@joshistoast joshistoast commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Rebuilds the docs site for v7 so it looks and behaves like the app, and turns the densest guides from walls of prose into visual, interactive pages.

  • Site: v7 app theme, topic sidebar with a switcher, shared header and page actions, topic-scoped search with settings results, a rebuilt home page (interactive tour, showcase, model families) and download page, and an OS/GPU setup picker on the install guides.
  • App integration: the docs build generates a search index that the command palette uses to search the docs.
  • Translations: German, Spanish and Hindi locales served from a translation catalog and synced through Crowdin, with parser-based checks that translated pages match the English structure.
  • Guide rewrites, facts checked against the code:
    • Intermediates and Models introduction with annotated app sketches (numbered pins linked to a legend).
    • Upscaling with a before/after slider of real Model only vs Refine output and a static pipeline diagram.
    • A new Which memory option do I need? page with an interactive picker and one format comparison table; Low-VRAM, FP8 Storage, int8 Compute and SDNQ restructured; FP8 Compute split into its own page.
    • Multi-user admin and user guides rewritten around setup steps, role tables and a security section.
    • Community nodes as a searchable, filterable grid backed by one YAML file per pack; the Custom Node Manager page updated for the current UI.
  • Weekly challenges: winners of the Discord art challenges are published as one folder per week (YAML + images, strict schema and folder checks).
    • The latest week is featured on /showcase/.
    • /showcase/challenges/ is the archive, and each week gets a shareable page.
    • A home page strip shows the latest winners.
    • docs/src/content/challenges/README.md is the step-by-step guide for adding a week; publishing is a manual pull request for now.
  • Corrections along the way, among them:
    • the JWT key-rotation SQL now works on MySQL/MariaDB;
    • multi-GPU queueing and the max_cache_vram_gb budget are described correctly;
    • the model subfolder syntax is repo::v2;
    • the FLUX.1 Refine step count is right;
    • Re-identify clears a model's Source URL;
    • semantic search needs no restart.

Related Issues / Discussions

Supersedes #9368 (translations for the previous docs site).

QA Instructions

From docs/ with Node 22.23.4 or newer and pnpm 10:

  • pnpm test: 299 passed, 0 failed (includes the translation and i18n-key checks).
  • GITHUB_TOKEN=$(gh auth token) pnpm build: passes; "All internal links are valid." Without a token the changelog loader can hit GitHub's rate limit locally.
  • pnpm run check-deploy-output, pnpm run check-redirects (88 targets) and pnpm run check-app-search-index: pass.
  • In invokeai/frontend/webv2: docsSearchProvider.test.ts (8) and LaunchpadCommandPaletteDialog.browser.test.tsx (2): pass.
  • Browser: each rewritten page checked at 1440px and 390px with Playwright; interactions exercised (pins, slider, picker, grid filters, copy buttons); no-JS fallbacks checked; no console errors from the production preview.

Not done: screenshots aren't attached yet. Forced-colors styles on the annotated pins were written but not rendered in a high-contrast mode.

The challenge pages include the last 10 Discord challenges; layouts were checked with that data and with edge-case fixtures (removed).

To try it: pnpm build && pnpm preview (search only works in a production build), then open /, /users-guide/image-generation/upscale/, /configuration/optimization/memory-options/ and /users-guide/workflows/community-nodes/.

Review

Each guide rewrite was reviewed against the code. Material findings were fixed and re-checked, including:

  • the MySQL-incompatible key-rotation SQL;
  • the FLUX.1 Refine step count;
  • an over-broad Refine output-size claim;
  • a promise that model-settings exports import across versions;
  • an annotated-pin Escape bug and overlapping tap targets on phones;
  • unstable callout ids;
  • picker cards that didn't name their setups without JavaScript.

Remaining limits:

  • The community nodes page links to its contributor README on main; that link 404s until this merges.
  • The External Models introduction page is still outdated (missing Atlas Cloud, unrendered !!! admonitions).
  • App behaviour found while checking facts, not changed here:
    • Re-identify drops source_url.
    • The Refine size preview overstates SD output with a 1× upscaler.
    • Node pack Reload re-runs every pack.

Compatibility / Rollout

  • The app's command palette reads invokeai/frontend/webv2/src/workbench/palette/docsSearchIndex.json, generated from the docs build. Docs CI fails if it drifts; regenerate with pnpm run sync-app-search-index.
  • Crowdin still needs project-side setup before the first sync: parser frontmatter exclusions, "Skip untranslated files" and the translator notes (see docs/README.md).

Checklist

  • The PR has a short but descriptive title, suitable for a changelog
  • Meaningful regression coverage added / updated where needed; obsolete tests/code removed
  • Persisted-state and API changes include required migrations / compatibility validation
  • Relevant performance/efficiency opportunities considered; material claims have evidence
  • Material review findings resolved and relevant checks rerun
  • Documentation added / updated (if applicable)
  • Updated What's New copy (if doing a release after this PR)

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

Astro 7.4.2, Starlight 0.42.7, mermaid 12.2.0, starlight-changelogs 0.7.1, node-gyp 13.1.0 and minor font and markdown-remark bumps.
Markdown plugins move to markdown.processor: unified(), replacing the keys Astro 7.4 deprecates.
Astro 7.4 requires Node 22.23.4 or newer; mermaid 12 lays out diagrams with ELK and its new default theme.
Colour tokens are generated at build time from the app's themes.ts, with dark-only styles, app-style buttons, tabs, asides, cards and code blocks.
Markdown tables get a scrollable wrapper and Mermaid follows the theme; the docs workflow rebuilds when the theme or logo changes and fetches full history for last-updated dates.
Get Started, Guide, Models, Configure & Deploy, Developers, Contribute, Troubleshooting and Releases each get their own sidebar, chosen from a switcher; URLs are unchanged.
Sections carry Lucide icons, keep their open state per topic, and prev/next links stay within a topic.
One header on every page with Docs and Showcase links, a v7/v6 version menu, GitHub, Discord and Download.
Each page gets a breadcrumb, a right rail with copy-as-Markdown actions, a helpful-or-not prompt, edit and report-issue links, and card-style prev/next links.
Search opens with Ctrl/Cmd+K, scopes results to the current topic with an All docs option, and groups page results by topic.
invokeai.yaml settings appear as typed results linking to their anchor in the settings reference.
One picker replaces the nested tabs and updates every command for the chosen setup, remembered across visits.
The build fails if any step misses a supported OS and GPU combination.
The page shows the current Invoke Launcher version, date and file sizes, read from GitHub at build time with a committed fallback.
A refresh-launcher-release script updates the fallback.
The marketing page gets an animated hero glow, interactive gallery, workflow and before/after demos, an animated What's new bento and a model families section.
A community showcase page with a submission form and a home page marquee render once artwork is added.
The build emits a base-path-free index of user-facing pages, headings and topics; a sync script copies it into the app.
Docs CI fails when the committed copy drifts from the build.
Editor and Launchpad palettes show Docs results that open the page or heading in a new tab, with an accessible external-link cue.
The index loads lazily on the first search; the empty Docs scope lists the docs topics.
The FAQ and system requirements pages linked to old page paths that only resolved through redirects, and the node pack guide linked to a page that no longer exists.
Every English page gets a localized fallback route; content and header links stay in the reader's language, and translated pages reuse English assets and sidebar data.
A header language menu, a Crowdin translate link, English canonicals for fallback pages and root-only release pages complete the routing.
Header, footer, search, topic switcher, page tools and MDX components read en.json keys Crowdin can translate, while Starlight's built-in strings keep their shipped translations.
Messages with links or markup render from tagged whole messages without raw HTML, and a drift test keeps code and catalog keys in sync.
Hero, tour, What's new, model families and the before/after slider read en.json keys, and the announcement pill links within the reader's locale.
The tour demos' mock app UI stays English; their region labels, keyboard hint and announcements are translatable.
pnpm test parses each translated page with the build's frontmatter, MDX and directive parsers and rejects code, links, components or frontmatter the English page lacks.
Translated UI strings must keep their placeholders, tags and plural suffixes, and unconfigured locales fail.
crowdin.yml sends the user-facing docs trees and UI strings to Crowdin, and a test keeps every source pattern matching a file.
The contributor and docs pages explain the translation flow, and the docs README holds the maintainer runbook.
Distilled models run 4 to 9 steps, semantic search needs no restart, NF4 loads on NVIDIA and AMD.
LTX-2 sections use top-level headings with one license section; FAQ typos and the obsolete ram setting are fixed.
Setup steps, role and capability tables, security sections and symptom tables replace long prose.
Corrects multi-GPU queueing, session, CLI, password and board-access behaviour, and the key rotation SQL for MySQL.
… pages

Numbered pins over a screenshot or app sketch link to a legend written in the page, so translators keep the text.
Both pages trade long prose for steps, tables and collapsed detail, with facts checked against the app.
…agram

The home page slider now takes any two images; the Upscaling page compares Model only and Refine output.
A static pipeline diagram, an annotated panel sketch and per-family tabs replace the sentence-filled table.
…ion pages

A new page recommends memory settings for your OS, GPU, VRAM and model format, with one format comparison table.
Low-VRAM, FP8, int8 and SDNQ pages become tables, tabs and collapsibles; FP8 Compute gets its own page.
Each pack is a YAML file with a local thumbnail; the grid filters by category and copies Git URLs.
The node manager page matches the current app, and the app's docs search index follows the new headings.
A 2px brand ring fades down the frame and drifts as before, sitting directly around the screenshot.
…uction

Both pages share the new Edit layout screenshot; their alt text describes it.
Cards are plain text until a family has a cover image, which then sits above the text.
@github-actions github-actions Bot added CI-CD Continuous integration / Continuous delivery Root frontend-deps PRs that change frontend dependencies labels Oct 27, 2026
@github-actions github-actions Bot added frontend PRs that change frontend files docs PRs that change docs labels Oct 27, 2026
@joshistoast joshistoast mentioned this pull request Oct 27, 2026
3 of 5 tasks
@joshistoast

Copy link
Copy Markdown
Collaborator Author

Still working on how weekly challenge submissions should get handled, so don't merge or approve yet

Each Discord challenge is a folder of winners' images and a YAML file, checked by a strict schema and folder tests.
The showcase features the latest week, with an archive, a shareable page per week and a home page strip.
Preserve working-memory calibration and consolidated community packs from main. Refresh the app docs search index after integrating current guides.
Integrate current main and regenerate the Qwen Image search description.
@joshistoast

Copy link
Copy Markdown
Collaborator Author

Ok ready for review now I think

@lstein lstein self-assigned this Oct 29, 2026
@lstein lstein added the 7.0.0 label Oct 29, 2026
@lstein lstein moved this to 7.0.0: UX overhaul in Invoke - Community Roadmap Oct 29, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

7.0.0 CI-CD Continuous integration / Continuous delivery docs PRs that change docs frontend PRs that change frontend files frontend-deps PRs that change frontend dependencies Root

Projects

Status: 7.0.0: UX overhaul

Development

Successfully merging this pull request may close these issues.

2 participants