Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
775b26f
Add folding support to code blocks (#12680)
schultek Nov 18, 2025
70828b5
Bump actions/checkout from 5.0.0 to 5.0.1 (#12713)
dependabot[bot] Nov 18, 2025
4784663
GenUI for SDK docs (#12696)
sfshaza2 Nov 18, 2025
bb47239
fix: generate '/f/devtools-releases.json' on the Windows platform (#1…
AmosHuKe Nov 18, 2025
598cf54
Rely on `dart pub add` in GenUI getting started (#12720)
parlough Nov 18, 2025
4ce845d
Update AI rules by environment table (#12718)
parlough Nov 18, 2025
125c4cd
Adjust and format GenUI SDK docs (#12721)
parlough Nov 18, 2025
276f195
Adjust cards on index page (#12710)
parlough Nov 18, 2025
d731338
Simplify design systems section on widget catalog index page (#12711)
parlough Nov 18, 2025
ae18990
Bump github/codeql-action from 4.31.3 to 4.31.4 (#12724)
dependabot[bot] Nov 19, 2025
7716540
Adding info about genui_a2ui (#12722)
sfshaza2 Nov 19, 2025
ac50e99
Fix formatting of some code alongside image cases (#12723)
parlough Nov 19, 2025
535e3fc
Use 'dart pub add' on GenUI get started page (#12728)
parlough Nov 19, 2025
4908cb5
Fix embedded videos on implicit animation page (#12709)
parlough Nov 19, 2025
16d5d0b
Refactor to more idiomatic Jaspr code (#12726)
schultek Nov 20, 2025
252203a
Add Antigravity configuration instructions (#12730)
mit-mit Nov 20, 2025
d03a073
Add Flutter Linux merged threads migration announcement (#12534)
robert-ancell Nov 20, 2025
09f69f7
Fix a few unmigrated Liquid usages (#12708)
parlough Nov 20, 2025
bd5269d
Add SummaryCard component for FWE (#12714)
schultek Nov 21, 2025
13645b9
Add CodePreview component (#12731)
schultek Nov 21, 2025
4745669
Bump actions/checkout from 5.0.1 to 6.0.0 (#12736)
dependabot[bot] Nov 21, 2025
a374f5c
Correct EdgeInsets mislabeled as widget in Flutter example (#12735)
Daniel-BD Nov 21, 2025
1302df4
Adding a page on the Flutter extension for Gemini CLI (#12734)
sfshaza2 Nov 21, 2025
2b2b79e
Add DownloadableSnippet component (#12733)
schultek Nov 23, 2025
9047c1c
Nest code in tabs and publish UIScene change as available on stable (…
vashworth Nov 23, 2025
692b049
Fix typo in `ListView.builder` reference (#12738)
loic-sharma Nov 23, 2025
0d2026b
Add stepper component for FWE (#12675)
schultek Nov 24, 2025
2a3f890
Remove a few more Liquid usages (#12741)
parlough Nov 24, 2025
b9c666a
Update the material 3 design token docs (#12125)
kevmoo Nov 24, 2025
23d39dc
Bump github/codeql-action from 4.31.4 to 4.31.5 (#12745)
dependabot[bot] Nov 25, 2025
c49df48
Adding slivers to the glossary (#12744)
sfshaza2 Nov 25, 2025
1272851
Update Antigravity MCP setup instructions (#12748)
parlough Nov 25, 2025
ff3ca33
Add more exposure to antigravity in ai overview (#12749)
antfitch Nov 25, 2025
b714704
Add redirect from `/download` to `/install` (#12750)
ericwindmill Nov 25, 2025
4b52a85
Fix style of leading console token in code blocks (#12752)
schultek Nov 26, 2025
b00be31
Add `WidgetCatalogCategories` component (#12755)
schultek Nov 26, 2025
80028e2
Add glossary entries for hot reload and hot restart (#12757)
sfshaza2 Nov 26, 2025
ce624a0
Add forceSingleThreadedSkwasm option to Flutter web loader (#178406) …
Ecraindrop Nov 26, 2025
59109c3
add page navigation and prefetching to the tutorial (#12754)
schultek Nov 28, 2025
20450b0
Refactor widget catalog pages to generate from data (#12760)
schultek Nov 28, 2025
edfbf34
Fix errors in `RadialExpansion class` example (#12762)
AbdeMohlbi Nov 29, 2025
477e39a
Fix formatting and spacing in ui-layer.md (#12764)
loic-sharma Dec 1, 2025
509199c
Gracefully handle failures to access localStorage (#12682)
dixita0607 Dec 1, 2025
fcf08ec
Remove outdated `--explicit-package-dependencies` flag from i18n migr…
channel101 Dec 1, 2025
f1e7c7a
Initial FWE cleanup and fixes (#12765)
parlough Dec 1, 2025
52b56c9
Add a glossary entry for jank (#12759)
sfshaza2 Dec 1, 2025
c2bd9fc
Add collapsed code-block support for tutorial challenges (#12767)
schultek Dec 1, 2025
865a329
Refactor architecture recommendation tables to Jaspr component (#12768)
schultek Dec 2, 2025
a8fd072
Bump github/codeql-action from 4.31.5 to 4.31.6 (#12771)
dependabot[bot] Dec 2, 2025
d565ff4
Add optional page navigation to top toc dropdown (#12715)
schultek Dec 2, 2025
4d3a276
Add DevTools release notes for version 2.53.0 (#12773)
elliette Dec 4, 2025
1057232
Bump actions/checkout from 6.0.0 to 6.0.1 (#12775)
dependabot[bot] Dec 4, 2025
dfbb711
fix: prevent glossary refresh artifact by defaulting to collapsed sta…
sfshaza2 Dec 4, 2025
3ba44cc
Add `/go/decoupling-design-from-text` design doc redirect (#12774)
Renzo-Olivares Dec 4, 2025
024b1f4
docs: clarify ImageFilter shader support is Impeller-only (#12778)
sfshaza2 Dec 4, 2025
63e0563
Update developing-packages.md to the proper definition of a federated…
bparrishMines Dec 4, 2025
5c23698
Add `/go/flutter-file-system` design doc redirect (#12784)
bparrishMines Dec 7, 2025
b788d1b
Bump github/codeql-action from 4.31.6 to 4.31.7 (#12791)
dependabot[bot] Dec 8, 2025
5d67f3f
Fix #12729: Clarify recommendation against named routes (#12783)
sfshaza2 Dec 8, 2025
a712f2c
Replace accidental tabs with spaces in FWE code blocks (#12789)
parlough Dec 8, 2025
db13e5f
Reduce liquid templating usages on mirrors page (#12798)
parlough Dec 8, 2025
6a29d66
Add wrapped page header and utility button (#12797)
parlough Dec 8, 2025
6eb42a6
Introduce new `Icon` component usable from Markdown (#12794)
parlough Dec 8, 2025
8f5deec
docs: add Engine glossary entry (#12780)
sfshaza2 Dec 8, 2025
0c093aa
Allow code font in titles (#12796)
parlough Dec 8, 2025
e6837b3
Redesign supported platform cards (#12772)
schultek Dec 9, 2025
d2dd020
Update steps for Dart MCP Server & Antigravity (#12802)
antfitch Dec 9, 2025
2155f6f
Fix #12781: Add troubleshooting for PowerShell Invoke-Expression erro…
sfshaza2 Dec 9, 2025
edaa0ec
docs: add migration guide for findChildIndexCallback of separated bui…
rkishan516 Dec 9, 2025
d14fbcc
Sync: 2025/12/10
AmosHuKe Dec 10, 2025
d662845
Sync: 2025/12/10
AmosHuKe Dec 10, 2025
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
10 changes: 5 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
experimental: true
continue-on-error: ${{ matrix.experimental }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
- uses: subosito/flutter-action@e938fdf56512cc96ef2f93601a5a40bde3801046
with:
channel: ${{ matrix.branch }}
Expand All @@ -50,7 +50,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository == 'cfug/flutter.cn'
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
- uses: dart-lang/setup-dart@e51d8e571e22473a2ddebf0ef8a2123f0ab2c02c
with:
sdk: beta
Expand All @@ -66,7 +66,7 @@ jobs:
timeout-minutes: 30
if: github.repository == 'cfug/flutter.cn'
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
- uses: dart-lang/setup-dart@e51d8e571e22473a2ddebf0ef8a2123f0ab2c02c
with:
sdk: beta
Expand All @@ -92,7 +92,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository == 'cfug/flutter.cn'
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
- uses: dart-lang/setup-dart@e51d8e571e22473a2ddebf0ef8a2123f0ab2c02c
with:
sdk: beta
Expand All @@ -110,7 +110,7 @@ jobs:
github.ref == 'refs/heads/main' &&
github.repository == 'cfug/flutter.cn'
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
with:
# docs.flutter.cn | https://github.com/cfug/flutter.cn/pull/1518
fetch-depth: 0
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/compile_host_redirect_js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
github.repository == 'cfug/flutter.cn' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.head.repo.full_name == 'cfug/flutter.cn' }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
with:
# docs.flutter.cn | https://github.com/cfug/flutter.cn/pull/1518
fetch-depth: 0
Expand Down
3 changes: 3 additions & 0 deletions firebase.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
{ "source": "/development", "destination": "/", "type": 301 },
{ "source": "/development/:rest*", "destination": "/:rest*", "type": 301 },
{ "source": "/devtools/:rest*", "destination": "/tools/devtools/:rest*", "type": 301 },
{ "source": "/download", "destination": "/install", "type": 301 },
{ "source": "/downloads/:resource*", "destination": "/resources/:resource*", "type": 301 },
{ "source": "/f/dart-devtools-survey-metadata.json", "destination": "https://storage.googleapis.com/flutter-uxr/surveys/devtools-survey-metadata.json", "type": 301 },
{ "source": "/f/flutter-survey-metadata.json", "destination": "https://storage.googleapis.com/flutter-uxr/surveys/flutter-survey-metadata.json", "type": 301 },
Expand Down Expand Up @@ -360,6 +361,7 @@
{ "source": "/go/dash-tooling-plugin-strategy", "destination": "https://docs.google.com/document/d/1Zc0AE8JTKfOSA-IFpEYcPFJ2eALbXE3AG4ZucWXeMig/", "type": 301 },
{ "source": "/go/data-sync", "destination": "https://docs.google.com/document/d/1yH96-p-SkMmt6hL5xHHDtMvCKRz2XGrMuw9ZY_nE954", "type": 301 },
{ "source": "/go/decouple-design", "destination": "https://docs.google.com/document/d/189AbzVGpxhQczTcdfJd13o_EL36t-M5jOEt1hgBIh7w/edit?usp=sharing", "type": 301 },
{ "source": "/go/decoupling-design-from-text", "destination": "https://docs.google.com/document/d/1oFezK5leJzTWA5lsw3BQGx7gLbhpSL8dMleU3HD7bNY/edit?usp=sharing", "type": 301},
{ "source": "/go/dds-daemon", "destination": "https://docs.google.com/document/d/18IgFakijiv9CLFGT5BckbwZuf2pqhOUeN27mB9XqvpQ/edit?usp=sharing&resourcekey=0-rBHvH9gLXLjGPWt5WE-XFg", "type": 301 },
{ "source": "/go/decoupling-framework-tests", "destination": "https://docs.google.com/document/d/1UHxALQqCbmgjnM1RNV9xE2pK3IGyx-UktGX1D7hYCjs/edit?pli=1&tab=t.0", "type": 301 },
{ "source": "/go/deep-link-flag-migration", "destination": "https://docs.google.com/document/d/1TUhaEhNdi2BUgKWQFEbOzJgmUAlLJwIAhnFfZraKgQs/edit?usp=sharing", "type": 301 },
Expand Down Expand Up @@ -436,6 +438,7 @@
{ "source": "/go/flutter-drop-win7-2024", "destination": "https://docs.google.com/document/d/18gfRT8klo0zEvn6fIpders7ghoWIBKO22cNYS22WLhc/edit?resourcekey=0-SFkxdqfyM6KNNkG4zS6aaA", "type": 301 },
{ "source": "/go/flutter-engine-clocks", "destination": "https://docs.google.com/document/d/1Sx8QA1qXgJGw5r4ESviDnU2LSShNHiq_LjbRWPgSvXQ/edit?usp=sharing&resourcekey=0-BoBvLxgqf_nc_rwLc0zmTw", "type": 301 },
{ "source": "/go/flutter-engine-extensions", "destination": "https://docs.google.com/document/d/1xG7jR4FserdW7TdwnklF3_lXUGmt4myPQjDGF3LFtCQ/edit?resourcekey=0-Iug4D2mWuyQI6suvC_2itw#", "type": 301 },
{ "source": "/go/flutter-file-system", "destination": "https://docs.google.com/document/d/150KFR6WRSqpxbUcvQriBgrv6P5DMcq6dORikf_cOgZo/edit?usp=sharing", "type": 301 },
{ "source": "/go/flutter-for-embedded-linux", "destination": "https://docs.google.com/document/d/1n4NXCk0QlGz16gUCtywR79H0Z1fzPqB2iNL8oxuexuk/edit?usp=sharing", "type": 301 },
{ "source": "/go/flutter-gradle-plugin-apply", "destination": "/release/breaking-changes/flutter-gradle-plugin-apply", "type": 301 },
{ "source": "/go/flutter-iap-migrate-pblv2", "destination": "https://docs.google.com/document/d/1XM16UsLE_aPWoZnheE9waO06mhxLkkWjpPf9jtI1AdY/edit", "type": 301 },
Expand Down
6 changes: 5 additions & 1 deletion site/lib/_sass/_site.scss
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
@use 'components/alert';
@use 'components/banner';
@use 'components/books';
@use 'components/breadcrumbs';
@use 'components/button';
@use 'components/card';
@use 'components/code';
Expand All @@ -29,14 +30,17 @@
@use 'components/misc';
@use 'components/next-prev-nav';
@use 'components/os-selector';
@use 'components/pagenav';
@use 'components/platform-cards';
@use 'components/pill';
@use 'components/quiz';
@use 'components/sidebar';
@use 'components/side-menu';
@use 'components/site-switcher';
@use 'components/summary-card';
@use 'components/stepper';
@use 'components/tabs';
@use 'components/theming';
@use 'components/toc';
@use 'components/tooltip';
@use 'components/trailing';

Expand Down
60 changes: 18 additions & 42 deletions site/lib/_sass/base/_base.scss
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@ body {
color: var(--site-base-fgColor);

// The top TOC is not shown on narrow screens.
@media (min-width: 1200px) {
--site-subheader-height: 0rem;
&:not(:has(#site-subheader.show-always)) {
@media (min-width: 1200px) {
--site-subheader-height: 0rem;
}
}

// If the TOC is disabled, reduce the subheader height to
Expand Down Expand Up @@ -46,8 +48,13 @@ h2 {
}

dd {
margin-bottom: .75rem;
margin-block-end: .75rem;
margin-left: 1rem;

>p:only-child {
margin-block-start: 1rem;
margin-block-end: 1rem;
}
}

img {
Expand Down Expand Up @@ -153,43 +160,6 @@ main figure {
font-style: italic;
text-align: center;
}

&.code-and-image {
gap: 0.25rem;
justify-content: space-between;
flex-direction: row;
flex-wrap: wrap;

>div {
width: 100%;

&:last-child {
text-align: center;
}
}

@media(min-width: 769px) {
>div {
&:first-child {
flex: 0 0 58%;
max-width: 58%;
}

&:last-child {
flex: 0 0 40%;
max-width: 40%;
}
}

figcaption {
text-align: left;
}

img {
max-width: 100%;
}
}
}
}

.text-icon {
Expand Down Expand Up @@ -353,14 +323,19 @@ ol.steps {
margin-block-end: 0.75rem;
}

>h3:first-child,
>p:first-child {
height: $step-indicator-height;
margin-block-end: 0.5rem;
font-weight: 500;
}

>h3:first-child {
display: flex;
align-items: center;
height: $step-indicator-height;
font-size: 1.125rem;
font-weight: 500;
color: var(--site-base-fgColor-lighter);
margin-block-end: 0.5rem;
}

padding-block-end: 0.75rem;
Expand Down Expand Up @@ -429,6 +404,7 @@ p+dl {
}

.figure-caption {
margin-top: 0.25rem;
font-size: .875rem;
font-style: italic;
color: var(--site-base-fgColor-lighter);
Expand Down
47 changes: 47 additions & 0 deletions site/lib/_sass/components/_breadcrumbs.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
nav.breadcrumbs {
align-items: center;

ol.breadcrumb-list {
margin: 0;
padding: 0;
border-radius: var(--site-radius);
font-size: 0.925rem;

align-items: center;
list-style: none;

font-family: var(--site-ui-fontFamily);

display: flex;
flex-wrap: wrap;
flex-direction: row;

li.breadcrumb-item {
display: flex;
flex-direction: row;
align-items: center;
padding: 0;

& a {
padding: 0.125rem;
border-radius: 0.125rem;
}

&.active a {
color: var(--site-base-fgColor-lighter);
cursor: default;
text-decoration: none;
}

&:before {
display: none;
}
}

.material-symbols {
user-select: none;
font-size: 1.25rem;
color: var(--site-base-fgColor-lighter);
}
}
}
19 changes: 19 additions & 0 deletions site/lib/_sass/components/_button.scss
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,22 @@ button {
}
}
}

.segmented-button {
display: inline-flex;

a,
button {
&:not(:last-child) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;

border-right: 1px solid var(--site-outline-variant);
}

&:not(:first-child) {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
}
}
Loading