Skip to content

Conversation

@parlough
Copy link
Member

@parlough parlough commented Oct 14, 2025

Staged: https://flutter-docs-prod--pr12548-feat-jaspr-migration-kz7c0jfj.web.app/

Migrates the site from being built with JS/TS, Node, and 11ty to being built with purely Dart, Jaspr, and Jaspr Content.


As part of this work, the dash_site bash script has been removed from the root of the repository.

After the removal, you can access the site tooling, including building and staging with dart run dash_site <command> from anywhere within the repository workspace. If you still want a shorter command, you can add an alias for dart run dash_site in your shell, such as dst.


Staged: https://flutter-docs-prod--pr12548-feat-jaspr-migration-kz7c0jfj.web.app/

Resolves: #12405

@parlough parlough changed the title [WIP] Begin migration to Jaspr and Jaspr Content [WIP] Initial migration to Jaspr and Jaspr Content Oct 14, 2025
@flutter-website-bot
Copy link
Collaborator

flutter-website-bot commented Oct 16, 2025

Visit the preview URL for this PR (updated for commit bb09726):

https://flutter-docs-prod--pr12548-feat-jaspr-migration-kz7c0jfj.web.app

@parlough
Copy link
Member Author

parlough commented Oct 16, 2025

@schultek Can you take a look at why the llms.txt file is being rendered as HTML rather than being passthrough rendered? Perhaps I configured the rawOutputPattern incorrectly or misunderstood it. I appreciate the help!

@parlough parlough force-pushed the feat/jaspr-migration branch from 2614106 to c247e2a Compare October 16, 2025 12:47
@parlough parlough force-pushed the feat/jaspr-migration branch from c247e2a to 5c6eefb Compare October 16, 2025 12:51
schultek and others added 3 commits October 18, 2025 13:11
Migrate DartPad injection to Jaspr.
Migrates the `osSelector` shortcode and JS code to Jaspr.

---------

Co-authored-by: Parker Lougheed <[email protected]>
@parlough parlough changed the title [WIP] Initial migration to Jaspr and Jaspr Content Migrate the site infrastructure to Jaspr and Jaspr Content Oct 22, 2025
schultek and others added 4 commits October 22, 2025 16:24
Part of #12548 

Migrates both the `app-figure.md` and `captioned-image.md` files to a
`DashImage` Jaspr component.
Part of #12548

Migrate the remaining logic from main.js to Dart.
@parlough parlough marked this pull request as ready for review October 22, 2025 14:47
@parlough parlough requested review from a team and sfshaza2 as code owners October 22, 2025 14:47
@parlough parlough requested a review from ericwindmill October 22, 2025 14:48
Reorganizes the Jaspr components to the following:

- Common components (Button, Card, etc) under `components/common`
  - @client components of these under `components/common/client`
-  Dartpad related under `components/dartpad`
- Layout components (Header, Footer, SideNav, etc.) under
`components/layout`
- Page specific components (ArchiveTable, etc.) under `components/pages`

Also cleans up the initialization of custom components for
`jaspr_content`, by moving any attribute parsing logic to the respective
component.
@sfshaza2
Copy link
Contributor

sfshaza2 commented Oct 22, 2025

I'm playing with the staged site right next to the real site. I am on the desktop, not mobile. Overall, things look great!

Observations:

  • On the front page, the What's New in Flutter video is smaller on the staged site. Can we restore the OG size?
    • Edit by parlough: Done. Added a fullWidth option to the YouTubeEmbed component.
  • There is additional white space on the left side (following the sidenav) on new pages that are missing the On this page column from the new page. OG page. New page. Other pages do have the On this page column, so did I happen to select one where it's turned off?
    • Edit by parlough: You just happened to select one of the few pages where this PR turns the TOC off :)
  • OK, hang in there. Expand the Testing & debugging menu in the sidenav. Then, under Testing, select Overview. It brings up the page. Select Overview again. And again. On the OG page, things seem good. On the new page, every time, you select Overview, the sidenav jumps (as if it's missing a test to see if the page is already up).
    • Edit by parlough: Fixed. The logic to focus the active entry was running later than it did before. Now it should happen early enough to prevent the sidenav from visually jumping.
  • On the new site (on the same page as in the previous bullet), there are extra blank lines in the top two bulleted lists, but not in the last bulleted list. A rather weird inconsistency.
    • Edit by parlough: I notice this on the old (live) site, but it seems fixed on the new site.
  • There seems to be a difference in font. OG page. New page. Scroll to the Handling all types of headers header on each pages. The font is thinner and narrower on the new site, making it harder to read. Have we run the updated pages through accessibility testing?
    • Edit by parlough: Comparing the sites over each other, the fonts seem the same. Can you share screenshots?

My eyes need a break, but here's a few observations.

Copy link
Contributor

@ericwindmill ericwindmill left a comment

Choose a reason for hiding this comment

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

LGTM, with two asterisks

*I'm approving based on the code, independently of clicking through the staged site.
*I really only skimmed through it. From a high-level, it looks great, and I generally trust you two and don't feel the need to scrutinize every line. LMK if there's anything that you feel specifically you'd like eyeballs on.

Exciting!

@parlough
Copy link
Member Author

Thank you both for taking a look and the feedback!

Addressing each of the points raised by @sfshaza2 with resolutions and a few questions:

On the front page, the What's New in Flutter video is smaller on the staged site. Can we restore the OG size?

I've fixed this! Now the YouTubeEmbed component supports a fullWidth attribute that I've also added to that embed :D

There is additional white space on the left side (following the sidenav) on new pages that are missing the On this page column from the new page. OG page. New page. Other pages do have the On this page column, so did I happen to select one where it's turned off?

The widget catalog pages happen to be pages where I turned off the TOC in this PR, so I believe this difference is to be expected. If you notice it elsewhere though, do please let me know :)

OK, hang in there. Expand the Testing & debugging menu in the sidenav. Then, under Testing, select Overview. It brings up the page. Select Overview again. And again. On the OG page, things seem good. On the new page, every time, you select Overview, the sidenav jumps (as if it's missing a test to see if the page is already up).

Nice catch. Fixed! Scrolling to the active entry in the sidenav should happen before page load finalizes now.

On the new site (on the same page as in the previous bullet), there are extra blank lines in the top two bulleted lists, but not in the last bulleted list. A rather weird inconsistency.

I see this inconsistent spacing on the old/live version but not on the new version. Does that match what you're seeing? If there's still an issue though, can you send a screenshot?

There seems to be a difference in font. OG page. New page. Scroll to the Handling all types of headers header on each pages. The font is thinner and narrower on the new site, making it harder to read.

I can't seem to reproduce this. The fonts look the same when I overlay the pages. Can you try hard refreshing each page and let me know if you still notice differences? And send a screenshot of both. Thanks!

Have we run the updated pages through accessibility testing?

Good idea, thanks! I went ahead and did so and I fixed the one regression that came up as well as fixed a pre-existing issue.

@craiglabenz
Copy link
Contributor

@parlough You asked us to point out pages with TOC differences other than the widget catalog, so while I'm 99% sure you already know this and it's probably expected, I'll do my due diligence and flag that I see the TOC missing on the new site's homepage, but present on the old site's homepage.

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.

☔ Migrate site infrastructure to Jaspr Content

6 participants