Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
0fa92b4
Add header migration guide (#13457)
chunhtai Jun 3, 2026
7629908
Add release notes for DevTools 2.59.0 (#13455)
srawlins Jun 3, 2026
f50e080
Bump the github-actions group with 2 updates (#13460)
dependabot[bot] Jun 4, 2026
5ed8ad8
Bump github/codeql-action from 4.36.1 to 4.36.2 in the github-actions…
dependabot[bot] Jun 5, 2026
3b20919
docs: remove outdated iOS C interop page and fix references (#13337)
harshyadavDeveloper Jun 5, 2026
367677b
Merge marketing site into `sites/www` (#13373)
parlough Jun 5, 2026
0b4607a
Bump actions/checkout from 6.0.2 to 6.0.3 in the github-actions group…
dependabot[bot] Jun 8, 2026
bd9b801
Updating the SPM guide for iOS and macOS (#13459)
sfshaza2 Jun 8, 2026
4413818
Add experimental AI Evaluations topic page (#13471)
lamek Jun 8, 2026
4313516
Combine and simplify legacy ffi plugin pages (#13469)
parlough Jun 8, 2026
0dd48c5
Fix indentation for onSubmitGuess callback (#13474)
sakuraineed Jun 8, 2026
37d7a35
Update banner content to promote the 26Q2 survey (#13453)
zanderso Jun 8, 2026
93703a4
[www] Update banner for 2026 Q2 survey (#13475)
parlough Jun 8, 2026
9bd508a
Update demo entries in demos.yaml (#13476)
mit-mit Jun 8, 2026
b223098
feat: add Flutter 3.44 news entry and associated featured image (#13477)
abdallahshaban557 Jun 8, 2026
ee501ed
feat: add Karaca company case study and update company data list (#13…
abdallahshaban557 Jun 8, 2026
44f1064
Reorganize AI documentation for Antigravity (#13470)
lamek Jun 8, 2026
878017d
feat: update Toyota case study with new media assets, revised content…
abdallahshaban557 Jun 9, 2026
88fa4d9
docs(ai): apply formatting and styling review fixes for Antigravity (…
lamek Jun 9, 2026
a007b99
Improve search page styling with dark mode enabled (#13488)
parlough Jun 10, 2026
98af675
Update and clarify command package suggestion (#13489)
parlough Jun 10, 2026
692d43f
Update banner to use structured data rather than raw HTML (#13487)
parlough Jun 10, 2026
ee1b003
chore: update home screen architectural diagram image (#13481)
abdallahshaban557 Jun 10, 2026
d2e16cd
Clean up, fix, and standardize UISceneDelegate adoption page (#13491)
parlough Jun 10, 2026
c16ebf9
Added 3 new consultants (#13492)
htrolle-epam Jun 11, 2026
aed5157
docs: update Genkit Dart quickstart links to overview page and simpli…
abdallahshaban557 Jun 12, 2026
f396343
chore: update Karaca showcase case study card and logo assets (#13494)
abdallahshaban557 Jun 12, 2026
cbd69cb
Bump the example-dependencies group in /examples with 2 updates (#13498)
dependabot[bot] Jun 13, 2026
8b1525f
feat: filter calendar events to exclude past dates in events page (#1…
abdallahshaban557 Jun 13, 2026
30ed47c
Fix compiling of marketing site after events page change (#13500)
parlough Jun 13, 2026
156b8c3
Set up shared package for components and utilities (#13486)
parlough Jun 15, 2026
36895a1
updated consultants logo image (#13504)
htrolle-epam Jun 15, 2026
fe5bcf2
[www] Start use of some utilities from site_shared (#13509)
parlough Jun 16, 2026
48bd9bc
[www] Support event date ranges (#13508)
parlough Jun 16, 2026
bfce650
Use ID of operating sysems instead of name in selectors (#13506)
parlough Jun 16, 2026
379d595
updated consultant, new name and image (#13511)
htrolle-epam Jun 16, 2026
d398935
Fix typo in layout tutorial from 'MainPage' to 'MainApp' (#13510)
nnnnadia Jun 17, 2026
81c73ed
Add `/blog` redirects (#13513)
parlough Jun 17, 2026
7a4a97a
Dispose Animation Controller in Flutter for Android Devs Examples (#1…
djmaster458 Jun 17, 2026
3282cfe
[www] Standardize to styles_hash_builder from site_shared (#13515)
parlough Jun 18, 2026
b2a3916
docs: fix the link to the Dot Shorthands guide (#13517)
AmosHuKe Jun 18, 2026
8a890a6
[www] Standardize and consolidate font setup (#13519)
parlough Jun 18, 2026
43bc5d0
[docs] Consolidate to flex versions of Google Sans fonts (#13518)
parlough Jun 18, 2026
7121fc2
Clarify Android ABI filtering guidance (#13514)
danyalahmed1995 Jun 18, 2026
8910f8f
Bump actions/checkout from 6.0.3 to 7.0.0 in the github-actions group…
dependabot[bot] Jun 20, 2026
7187ae6
sync: 2026/06/22
AmosHuKe Jun 22, 2026
8f9f73b
sync: 2026/06/22
AmosHuKe Jun 22, 2026
21b2436
sync: 2026/06/22
AmosHuKe Jun 22, 2026
ae98ce5
sync: 2026/06/22
AmosHuKe Jun 22, 2026
883eeb3
sync: 2026/06/22
AmosHuKe Jun 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@7211b7c8077ea37d8641b6271f6a365a22a5fbfa
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
Expand All @@ -44,7 +44,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@7211b7c8077ea37d8641b6271f6a365a22a5fbfa
uses: github/codeql-action/autobuild@8aad20d150bbac5944a9f9d289da16a4b0d87c1e

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
Expand All @@ -58,4 +58,4 @@ jobs:
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@7211b7c8077ea37d8641b6271f6a365a22a5fbfa
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
github.repository == 'cfug/flutter.cn'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
with:
node-version: ${{ env.NODE_VERSION }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
experimental: true
continue-on-error: ${{ matrix.experimental }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- uses: subosito/flutter-action@e938fdf56512cc96ef2f93601a5a40bde3801046
with:
channel: ${{ matrix.branch }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,17 @@ on:
pull_request:
branches:
- main
paths:
- 'sites/docs/**'
- 'examples/**'
- 'packages/excerpter/**'
- 'firebase.json'
- 'tool/dash_site/**'
- 'tool/config/linkcheck-skip-list.txt'
- 'pubspec.yaml'
- 'pubspec.lock'
- 'analysis_options.yaml'
- '.github/workflows/docs.yml'

# Declare default permissions as read only.
permissions: read-all
Expand All @@ -18,7 +29,7 @@ jobs:
if: |
github.event.pull_request.head.repo.full_name == 'cfug/flutter.cn'
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
with:
# docs.flutter.cn | https://github.com/cfug/flutter.cn/pull/1518
fetch-depth: 0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: translator_bot
name: translator_bot (docs)

on:
issue_comment:
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: Docs site

on:
workflow_dispatch:
push:
branches:
- main
Expand Down Expand Up @@ -45,7 +46,7 @@ jobs:
if: github.repository == 'cfug/flutter.cn'
timeout-minutes: 20
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- uses: dart-lang/setup-dart@65eb853c7ba17dde3be364c3d2858773e7144260
with:
sdk: beta
Expand All @@ -60,7 +61,7 @@ jobs:
if: github.repository == 'cfug/flutter.cn'
timeout-minutes: 30
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- uses: dart-lang/setup-dart@65eb853c7ba17dde3be364c3d2858773e7144260
with:
sdk: beta
Expand All @@ -87,7 +88,7 @@ jobs:
if: github.repository == 'cfug/flutter.cn'
timeout-minutes: 10
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- uses: dart-lang/setup-dart@65eb853c7ba17dde3be364c3d2858773e7144260
with:
sdk: beta
Expand All @@ -105,7 +106,7 @@ jobs:
github.ref == 'refs/heads/main' &&
github.repository == 'cfug/flutter.cn'
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
with:
# docs.flutter.cn | https://github.com/cfug/flutter.cn/pull/1518
fetch-depth: 0
Expand All @@ -123,7 +124,7 @@ jobs:
run: bash tool/translator/build.sh
shell: bash
- name: Deploy to production
run: bash tool/translator/deploy-cn.sh
run: bash tool/deploy/deploy-cn-docs.sh
shell: bash
env:
DEPLOY_USER: ${{ secrets.DOCS_REPO_DEPLOY_USER }}
Expand Down
97 changes: 97 additions & 0 deletions .github/workflows/www.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: Marketing site

on:
workflow_dispatch:
push:
branches:
- main
paths:
- 'sites/www/**'
- 'tool/dash_site/**'
- 'tool/config/linkcheck-skip-list.txt'
- 'pubspec.yaml'
- 'pubspec.lock'
- 'analysis_options.yaml'
- '.github/workflows/www.yml'
pull_request:
branches:
- main
paths:
- 'sites/www/**'
- 'tool/dash_site/**'
- 'tool/config/linkcheck-skip-list.txt'
- 'pubspec.yaml'
- 'pubspec.lock'
- 'analysis_options.yaml'
- '.github/workflows/www.yml'
# schedule:
# - cron: '0 0 * * 0'

permissions: read-all

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
linkcheck:
name: Build and check links
runs-on: ubuntu-latest
if: github.repository == 'cfug/flutter.cn'
timeout-minutes: 30
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- uses: dart-lang/setup-dart@65eb853c7ba17dde3be364c3d2858773e7144260
with:
sdk: beta
- name: Fetch Dart dependencies
run: dart pub get
- name: Install firebase-tools
run: curl -sL https://firebase.tools | bash
- name: Build site
run: dart run dash_site --site=www build
- name: Check for broken Markdown link references
run: dart run dash_site --site=www check-link-references
- name: Check for broken internal links
run: dart run dash_site --site=www check-links

firebase-validate:
name: Validate Firebase configuration
runs-on: ubuntu-latest
if: github.repository == 'cfug/flutter.cn'
timeout-minutes: 10
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
- uses: dart-lang/setup-dart@65eb853c7ba17dde3be364c3d2858773e7144260
with:
sdk: beta
- name: Fetch Dart dependencies
run: dart pub get
- name: Validate the firebase.json file
run: dart run dash_site --site=www verify-firebase-json

deploy:
name: Deploy to production
needs: [linkcheck, firebase-validate]
runs-on: ubuntu-latest
if: |
github.event_name == 'push' &&
github.ref == 'refs/heads/main' &&
github.repository == 'cfug/flutter.cn'
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0
with:
fetch-depth: 0
- uses: dart-lang/setup-dart@65eb853c7ba17dde3be364c3d2858773e7144260
with:
sdk: beta
- name: Fetch Dart dependencies
run: dart pub get
- name: Build site
run: dart run dash_site --site=www build --release
- name: Deploy to production
run: bash tool/deploy/deploy-cn-www.sh
shell: bash
env:
DEPLOY_USER: ${{ secrets.DOCS_REPO_DEPLOY_USER }}
DEPLOY_TOKEN: ${{ secrets.DOCS_REPO_DEPLOY_TOKEN }}
41 changes: 29 additions & 12 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,20 @@ content and code in this repository.
## Project overview

This repository contains the source code and content for
the Flutter framework's documentation website.
It is hosted at `docs.flutter.dev` and shouldn't be confused with
the marketing site at `flutter.dev` or the API docs at `api.flutter.dev`.
the Flutter framework's documentation and marketing websites:

The website is statically built and implemented with
- `docs.flutter.dev`:
The Flutter framework's documentation website.
- `flutter.dev`:
Flutter's homepage and marketing website.

The API docs at `api.flutter.dev` are embedded in the Flutter SDK source
and are maintained in the <https://github.com/flutter/flutter> repository.

The websites are statically built and implemented with
Dart and the [Jaspr](https://jaspr.site) web framework.
For loading content, data, and some of its assets,
it uses [Jaspr Content](https://docs.jaspr.site/content).
For loading content, data, and some assets,
they use [Jaspr Content](https://docs.jaspr.site/content).

### Directory structure

Expand All @@ -30,29 +36,40 @@ it uses [Jaspr Content](https://docs.jaspr.site/content).
for the sidenav, glossary, and various indices.
- `sites/docs/src/_includes/`:
Liquid partial files written in Markdown.
- `sites/www/`:
The implementation of flutter.dev,
written in Dart using Jaspr and Jaspr Content.
- `sites/www/content/`:
Markdown-based marketing pages and structured content.
- `sites/www/lib/`:
Dart source code for the site.
- `sites/www/firebase.json`:
Firebase Hosting configuration for flutter.dev.
- `examples/`:
A pub workspace containing Dart and Flutter code examples,
referenced by code excerpts in the Markdown files.
referenced by code excerpts in the docs Markdown files.
- `tool/dash_site/`:
CLI tool for site development and maintenance.

## Common commands

While working on the site,
While working on these sites,
you might need to run these commands:

```bash
# Install or update Dart dependencies:
dart pub get

# Serve a dev server of the site locally:
dart run dash_site serve
dart run dash_site --site=docs serve
dart run dash_site --site=www serve

# Build a production version of the site:
dart run dash_site build
dart run dash_site --site=docs build
dart run dash_site --site=www build

# Sync code excerpts to Markdown files:
dart run dash_site refresh-excerpts
# Sync docs code excerpts to Markdown files:
dart run dash_site --site=docs refresh-excerpts

# Learn what other commands are available:
dart run dash_site --help
Expand Down
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,9 +148,8 @@ following the instructions in [Get the prerequisites](#get-the-prerequisites).
This command generates and serves the site on a
local port that's printed to your terminal.

5. View your changes in the browser by navigating to <http://localhost:8080>.

Note the port might be different if `8080` is taken.
5. View your changes in the browser by navigating to
the local URL printed to your terminal.

6. Make your changes to the local repo.

Expand Down
2 changes: 1 addition & 1 deletion examples/cookbook/plugins/google_mobile_ads/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ dependencies:
flutter:
sdk: flutter

google_mobile_ads: ^8.0.0
google_mobile_ads: ^9.0.0

flutter:
uses-material-design: true
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@ class _MyFadeTest extends State<MyFadeTest> with TickerProviderStateMixin {
curve = CurvedAnimation(parent: controller, curve: Curves.easeIn);
}

@override
void dispose() {
controller.dispose();
super.dispose();
}

@override
Widget build(BuildContext context) {
return Scaffold(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ class _SampleAppState extends State<SampleApp>
curve = CurvedAnimation(parent: controller, curve: Curves.easeIn);
}

@override
void dispose() {
controller.dispose();
super.dispose();
}

@override
Widget build(BuildContext context) {
return Scaffold(
Expand Down
2 changes: 1 addition & 1 deletion examples/platform_integration/pigeon/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ dependencies:
flutter:
sdk: flutter
meta: any
pigeon: ^26.3.4
pigeon: ^27.1.0

dev_dependencies:
flutter_test:
Expand Down
Loading
Loading