Skip to content

Website: Migrate to new public-facing site#284

Open
aidanfnv wants to merge 27 commits into
mainfrom
dev/aidanf/flashdreams-site
Open

Website: Migrate to new public-facing site#284
aidanfnv wants to merge 27 commits into
mainfrom
dev/aidanf/flashdreams-site

Conversation

@aidanfnv

@aidanfnv aidanfnv commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

Preview: https://nvidia.github.io/flashdreams/pr-preview/after/

Changes the site theme, with different layouts depending on the page's content, purpose, and audience, and reorganizes the site into 5 sections:

  1. Landing/home page, which consists of:
  • A headline section, which uses auto-playing looping AVIF instead of video embed
  • Why FlashDreams?
  • "Performance" as a summary of some benchmarks from the "Models" section
  • "Try FlashDreams!" with links to the "Get Started" section
  • "Supported Models" with a glimpse of what models are in the "Models" section
  1. Get Started:
  • Consolidates the quickstart pages into a single "Get Started" page
  1. Documentation:
  • "Documentation" links to a landing page for the devleoper guides index page, the api/cli references index page, and the troubleshooting page
  • Rewrites the index pages for the developer guides and api/cli references to use grids summarizing the contents
  • Makes some prose changes to the developer guides to use more second person language and fix some typos
  • Incorporates the troubleshooting doc into the documentation section and adds a link to it from the community support page
  1. Models, which rewrites the existing models index page to include:
  • Gallery of available models, with sample clips
  • 2 categories of benchmarks: Autoregressive and Bidirectional vs Upstream, and Super-resolution
  • Benchmark methodology
  • How to run a model yourself (content from the original page)
  1. Contribute, which includes:
  • "Contribute" links to the contents of CONTRIBUTE.md, but there are additional support/contributing docs linked from there, including the existing Discord doc
  • "Getting Help" doc to guide users to the right place should they have problems
  • FAQ doc

Also changes the Sphinx search functionality to respect hyphens, so for example flashdreams-run actually searches for flashdreams-run instead of searching for flashdreams and/or run.

@copy-pr-bot

copy-pr-bot Bot commented Jun 3, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

aidanfnv added a commit that referenced this pull request Jun 8, 2026
…nity pages

What this change does:
- Adapts the index page of the docs into a landing page for a public-facing website
- Changes the website theme from furo to pydata
- Includes easy navigation to the supported models listed on the landing page
- Adapts existing text from the docs and current website where possible
- Loses the documentation-style layout for non-documentation pages, only including sidebars where they provide a clear benefit
- Adds a "Documentation" page to consolidate the Developer Guides and API/CLI References into a single landing

What this change does not do (for follow-up changes):
- Rewrite any of the API documentation or developer guides (#229)
- Consolidate the quick-start guides into a "Get Started" page (#246)
- Implement the "Benchmarks" page, currently it links to the model cards index (#267)
- Replace the current website, since this is going into a separate branch until the follow-ups land (#284)
aidanfnv and others added 12 commits June 11, 2026 22:39
…unity pages

Squashes the pre-landing development of the public site (Sphinx split, theme
migration, PR-preview action, layout/prose iterations, reverts).
…nity pages

What this change does:
- Adapts the index page of the docs into a landing page for a public-facing website
- Changes the website theme from furo to pydata
- Includes easy navigation to the supported models listed on the landing page
- Adapts existing text from the docs and current website where possible
- Loses the documentation-style layout for non-documentation pages, only including sidebars where they provide a clear benefit
- Adds a "Documentation" page to consolidate the Developer Guides and API/CLI References into a single landing

What this change does not do (for follow-up changes):
- Rewrite any of the API documentation or developer guides (#229)
- Consolidate the quick-start guides into a "Get Started" page (#246)
- Implement the "Benchmarks" page, currently it links to the model cards index (#267)
- Replace the current website, since this is going into a separate branch until the follow-ups land (#284)
…309)

* Website: Darken green primary accent, replace purple secondary with same green

* Clarify accent color comment in custom.css

Updated accent color comment for clarity.

Signed-off-by: aidanfnv <[email protected]>

---------

Signed-off-by: aidanfnv <[email protected]>
Squashes: Add consolidated previews; Fix previews.
Squashes: Slim down PR previews; Exclude doctrees; Expand sidebar nav by 1 level;
Fix margins (x2); Search with hyphens intact; Fix hyphen search; Revert doc.yml.
…ebsite (#246)

* Consolidate quickstart sub-pages into get_started.rst

Sister-PR to dev/aidanf/flashdreams-site-merge. Site-merge keeps the
3-file `docs/source/quickstart/` structure (installation.rst,
first_world_model.rst, index.rst) and labels the navbar tab
"Get Started" pointing at `quickstart/index`. This branch carries
the consolidation: the three sub-pages fold into a single
`docs/source/get_started.rst` and every cross-ref retargets to
`/get_started`.

File removals:

- `docs/source/quickstart/installation.rst` removed; its content is
  absorbed into the Installation section of the new
  `get_started.rst`.
- `docs/source/quickstart/first_world_model.rst` removed; its content
  is absorbed into the Launch-your-first-model section of the new
  `get_started.rst`.
- `docs/source/quickstart/index.rst` removed; the umbrella's role
  as the navbar's Get Started target now belongs to the flat
  `get_started.rst`.
- `docs/source/quickstart/` directory removed.

Cross-reference retargets `/quickstart/*` → `/get_started`:

- `docs/source/index.rst` (4 refs): hero CTA, Try-FlashDreams link,
  hero button, master toctree.
- `docs/source/benchmarks.rst:32` Reproduce-locally button.
- `docs/source/community/index.rst:130` five-step contribution flow.
- `docs/source/api/cli.rst:59` See-also.
- `docs/source/developer_guides/interactive_serving.rst:65`
  Reference-integrations bullet.

Config changes:

- `conf.py` `secondary_sidebar_items` and `html_sidebars`:
  `"quickstart/*": []` → `"get_started": []`.
- `_templates/layout.html` `_fd_prose_narrow_indices`:
  `quickstart/index` → `get_started`; adjacent comments updated.

The navbar label stays "Get Started" — the toctree target changes
from `quickstart/index` (on site-merge) to `get_started` (here).

* Update README quickstart links to consolidated Get Started page

The quickstart/installation.html and quickstart/first_world_model.html
pages were consolidated into get_started.html; point the README links at
the new page's #install and #run-your-first-model sections.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

* Add missing content

* Remove changes carried over from botched merge/split

* Fix broken conf merge/split

* Fix broken conf merge/split

* rename get_started for consildated preview

* Rewrites

---------

Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
* Website: Remove community landing page, go to Contribute

* Fix paths

* Revert title change

---------

Signed-off-by: aidanfnv <[email protected]>
* Website: Replace promo video embed with AVIF

* Update docs/source/index.rst

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Signed-off-by: aidanfnv <[email protected]>

* Replace raw HTML with Sphinx directives

---------

Signed-off-by: aidanfnv <[email protected]>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Add Benchmarks page; absorb supported-models gallery; edit per-model pages

Sister-PR to dev/aidanf/flashdreams-site-merge. Site-merge keeps the
3-file shape from main (`docs/source/models/index.rst` + 8 per-model
pages, no `benchmarks.rst`) and labels the Benchmarks navbar tab to
point at `models/index`. This branch carries the actual benchmarks
landing page plus the supported-models absorption plus the per-model
edits as a single coherent diff.

- `docs/source/benchmarks.rst` added (methodology, per-recipe latency
  tables across H100 / GB200 / GB300, versus-upstream + parity status,
  supported-models gallery, methodology footnote, "how we got here"
  links). Carries a `:hidden:` `:maxdepth: 1` toctree at the bottom
  listing the 8 per-model sub-pages so they remain reachable from
  the Benchmarks tab.
- `docs/source/models/index.rst` removed — the supported-models
  gallery is now the Supported-models section of `benchmarks.rst`.
- `docs/source/models/*.rst` (8 files) updated to the marketing-flow
  shape: hero band, per-device profile callouts, fd-* component
  vocabulary.

Master toctree (`docs/source/index.rst`): the Benchmarks entry now
reads `benchmarks` so the navbar lands on the new page.

Cross-reference retargets `/models/index` → `/benchmarks`:

- `docs/source/index.rst:119` Performance-section "benchmarks page"
  link.
- `docs/source/api/integrations.rst:34`.
- `docs/source/quickstart/installation.rst:88`.
- `docs/source/quickstart/first_world_model.rst:65`.
- `docs/source/developer_guides/usage_patterns.rst:122`.

Config changes (inverse of the un-absorption on site-merge):

- `conf.py` `secondary_sidebar_items` and `html_sidebars`: restore the
  `"benchmarks": []` entries (the page exists again).
- `_templates/layout.html` `_fd_prose_narrow_indices`: `models/index`
  → `benchmarks`; adjacent comments updated.
- `_static/custom.css`: two comments updated to "benchmarks" rather
  than "models gallery".

* reformat benchmarks landing

* Rename Benchmarks to Models

* Move benchmarks into seperate page

* Remove admonition

* Replace raw HTML buttons with Sphinx buttons

* Change note color

* Re-merge benchmarks and model pages

* Add images to models index, reword text

* Consolidate benchmarks, add % speed-up

---------

Signed-off-by: aidanfnv <[email protected]>
* Restore developer_guides text/prose (rewrites + :orphan: removals + plumbing-prose scrubs)

This branch is the holding area for the developer-guides prose work
while the sibling site-merge integration branch ships a thin
developer-guides surface (main-state plus three structural
compensations — see the site-merge revert commit for details).

Restored on this branch:

- `developer_guides/index.rst`: the marketing-flow-then-docs-scaffold
  rewrite (plain title, intro paragraphs naming the reading order,
  5-card sphinx_design grid covering Inference pipeline overview /
  Config system / Add a new method / Usage patterns / Interactive
  serving, a "Where these guides fit" closing block with cross-links
  to /quickstart-now-get_started and /api/index, and a :hidden:
  toctree of all five sub-pages).
- `:orphan:` removed from `usage_patterns.rst` and
  `interactive_serving.rst` so they can sit non-orphan inside the
  rewritten index's toctree.
- Plumbing-prose scrubs across the sub-pages (`flashdreams-run` /
  `uv` references in narrative prose were taken out and kept only in
  code blocks).

PR target: `dev/aidanf/flashdreams-site-merge`. When this branch is
ready, the merge brings the developer-guides text content into the
public-website integration line.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>

* Revert changes related to unused guides

* Revert changes related to unused guides

* Integrate new docs into docs section

* Cleanup

* Cleanup

* Rewrite API/CLI index

* Rename API index

* Consistency of API index title

---------

Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>
@aidanfnv aidanfnv force-pushed the dev/aidanf/flashdreams-site branch from 481193c to 499919f Compare June 11, 2026 22:41
@NVIDIA NVIDIA deleted a comment from github-actions Bot Jun 11, 2026
@aidanfnv aidanfnv marked this pull request as ready for review June 11, 2026 22:44
@greptile-apps

greptile-apps Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR migrates the FlashDreams documentation site from the Furo theme to pydata-sphinx-theme, reorganises the site into five sections (Home, Get Started, Documentation, Models, Contribute), and overhauls the homepage with a full-bleed marketing layout while preserving the reference-docs scaffold for all other pages.

  • Theme migration and layout system: Replaces Furo with pydata-sphinx-theme; introduces a Jinja layout switch (_fd_is_reference) that routes marketing pages into a full-bleed fd-landing-main wrapper and reference pages into the standard docs scaffold. A CSS custom-property token system replaces the old ad-hoc overrides.
  • Content consolidation: Merges installation.rst and first_world_model.rst into a single Get Started page; rewrites the models index into a video-card gallery with benchmark charts; adds FAQ, Getting Help, and a Documentation hub page.
  • Custom search tokenizer: Registers a _SearchEnglishHyphenated subclass of SearchEnglish that indexes hyphenated CLI commands (e.g. flashdreams-run) as both the intact token and its parts, while querying only the intact token, preserving recall without ranking noise.

Confidence Score: 5/5

Safe to merge — all changes are documentation and static-site assets with no effect on the Python runtime.

The entire changeset is documentation infrastructure (RST content, Sphinx config, CSS, JS, Jinja templates). No Python runtime, API, or data-handling code is modified. The one dead-code finding in layout.html has no functional impact on the rendered site. Internal cross-references were verified to be intact after the quickstart consolidation.

docs/source/_templates/layout.html — the unreachable _fd_hero_indices variable warrants a quick cleanup pass.

Important Files Changed

Filename Overview
docs/source/conf.py Migrates from Furo to pydata-sphinx-theme; adds GA4 analytics, icon links, per-page sidebar/secondary-sidebar config, and a custom search tokenizer that preserves hyphenated terms.
docs/source/_templates/layout.html Adds marketing vs reference layout switching and body-class logic; _fd_hero_indices is unreachable dead code (see comment).
docs/source/_static/js/supported_models_nav.js New script that populates the homepage Supported Models right-rail by reading the on-page card grid; correctly guards against non-homepage pages with an early return.
docs/source/_static/js/image_zoom.js Changes zoom from hover-with-delay to click-to-zoom; adds overlay click and Escape-key dismissal; CSS correctly sets pointer-events on the overlay.
docs/source/_static/js/benchmark_chart.js Switches chart font-family from hardcoded DejaVu Sans to inherit; SVG text fill colors remain hardcoded to near-black (#111827), which is invisible in dark mode (pre-existing, noted elsewhere).
docs/source/_static/custom.css Near-complete rewrite of site CSS; introduces CSS custom-property tokens, marketing layout components, dark/light theme support, and a wide layout for the models gallery page.
docs/source/models/index.rst Rewrites the models index into a full gallery with video cards, benchmark methodology, and benchmark data; removes the orphan directive so the page is now part of the site nav.
docs/source/quickstart/index.rst Consolidates the former installation.rst and first_world_model.rst (both deleted) into a single Get Started page.
docs/source/index.rst Rewrites the homepage with hero section (AVIF), feature cards, performance stat tiles, CTA, and Supported Models grid; references all consolidated quickstart, models, documentation, and community sections.
docs/source/community/index.rst Renamed from contribute.rst; now uses myst_parser to inline CONTRIBUTING.md and hosts the community toctree.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    REQ["Browser request for a page"] --> JINJA["layout.html: evaluate _fd_is_reference"]

    JINJA -->|"pagename startswith developer_guides/, api/, community/, models/, quickstart/\nor pagename in (documentation, troubleshooting, search, …)"| REF["Reference scaffold\n(super() → bd-article-container)"]
    JINJA -->|"everything else\n(only: index / master_doc)"| MKT["Marketing layout\n(fd-landing-main full-bleed)"]

    REF --> SIDEBAR["html_sidebars config\n(sidebar-nav-bs or empty per page)"]
    REF --> SEC["secondary_sidebar_items\n(page-toc per section)"]

    MKT --> NAVCHECK{"pagename == master_doc?"}
    NAVCHECK -->|Yes| RAIL["Inject #fd-models-nav aside\n(supported_models_nav.js populates it)"]
    NAVCHECK -->|No| NOMORE["No rail (no other marketing pages)"]

    JINJA --> BODY["body_tag block: assign CSS classes"]
    BODY --> LANDING["fd-page-landing (marketing pages)"]
    BODY --> PLAIN["fd-page-plain (marketing, no hero)"]
    BODY --> WIDE["fd-page-wide (models/index only)"]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    REQ["Browser request for a page"] --> JINJA["layout.html: evaluate _fd_is_reference"]

    JINJA -->|"pagename startswith developer_guides/, api/, community/, models/, quickstart/\nor pagename in (documentation, troubleshooting, search, …)"| REF["Reference scaffold\n(super() → bd-article-container)"]
    JINJA -->|"everything else\n(only: index / master_doc)"| MKT["Marketing layout\n(fd-landing-main full-bleed)"]

    REF --> SIDEBAR["html_sidebars config\n(sidebar-nav-bs or empty per page)"]
    REF --> SEC["secondary_sidebar_items\n(page-toc per section)"]

    MKT --> NAVCHECK{"pagename == master_doc?"}
    NAVCHECK -->|Yes| RAIL["Inject #fd-models-nav aside\n(supported_models_nav.js populates it)"]
    NAVCHECK -->|No| NOMORE["No rail (no other marketing pages)"]

    JINJA --> BODY["body_tag block: assign CSS classes"]
    BODY --> LANDING["fd-page-landing (marketing pages)"]
    BODY --> PLAIN["fd-page-plain (marketing, no hero)"]
    BODY --> WIDE["fd-page-wide (models/index only)"]
Loading

Reviews (10): Last reviewed commit: "Move latency tuning back" | Re-trigger Greptile

Comment thread README.md Outdated
Comment on lines +18 to +29
on:
pull_request:
branches: [dev/aidanf/flashdreams-site]
push:
branches: [dev/aidanf/flashdreams-site]
workflow_dispatch:

permissions:
contents: write

jobs:
# "before": the integration branch exactly as it is. Only rebuilt when `-site`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 Workflow auto-triggers are scoped to a branch that won't exist on main

Once this file is merged to main, neither the pull_request nor the push trigger will fire — both target dev/aidanf/flashdreams-site, which is the integration branch, not main. Only workflow_dispatch will work. The comment at the top of the file explains this is intentional, but the file in main is essentially inert from an automation standpoint. Consider confirming this is intended before merging, since a dormant preview workflow in main could mislead future maintainers.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

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.

1 participant