Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 1 addition & 2 deletions sites/docs/lib/src/utils/page_source_info.dart
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ extension PageSourceInfoExtension on Page {
final pageUrl = url;
final pageData = data.page;
final siteData = data.site;
final branch = siteData['branch'] as String? ?? 'main';
final repoLinks = siteData['repo'] as Map<String, Object?>? ?? {};
final repoUrl =
repoLinks['this'] as String? ?? 'https://github.com/flutter/website';
Expand All @@ -38,7 +37,7 @@ extension PageSourceInfoExtension on Page {
final String issueUrl;

if (inputPath != null) {
pageSourceUrl = '$repoUrl/blob/$branch/${inputPath.replaceAll('./', '')}';
pageSourceUrl = '$repoUrl/blob/main/${inputPath.replaceAll('./', '')}';
issueUrl =
'$repoUrl/issues/new?template=1_page_issue.yml&'
'page-url=$fullPageUrl&'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,4 @@ Migrating to SwiftPM requires updating the
1. Ensure that the app runs on the command line with `flutter run`.

[turn on Swift Package Manager]: /packages-and-plugins/swift-package-manager/for-app-developers/#how-to-turn-on-swift-package-manager
[file an issue]: {{site.github}}/flutter/flutter/issues/new?template=2_bug.yml
[file an issue]: {{site.repo.flutter}}/issues/new?template=2_bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,4 @@ Migrating to SwiftPM requires updating the

1. Ensure that the app runs on the command line with `flutter run`.

[file an issue]: {{site.github}}/flutter/flutter/issues/new?template=2_bug.yml
[file an issue]: {{site.repo.flutter}}/issues/new?template=2_bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -485,7 +485,7 @@ The example below uses `ios`, replace `ios` with `macos` or `darwin`, as applica

[`PrivacyInfo.xcprivacy` file]: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files
[`public_header_files`]: https://guides.cocoapods.org/syntax/podspec.html#public_header_files
[Swift Package Manager's documentation]: {{site.github}}/apple/swift-package-manager/blob/main/Documentation/Usage.md#creating-c-language-targets
[Swift Package Manager's documentation]: https://github.com/apple/swift-package-manager/blob/main/Documentation/Usage.md#creating-c-language-targets
[Pigeon]: https://pub.dev/packages/pigeon
[CocoaPods `dependency`]: https://guides.cocoapods.org/syntax/podspec.html#dependency
[Swift Package Manager dependencies]: https://developer.apple.com/documentation/packagedescription/package/dependency
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,5 +184,5 @@ existing app and Flutter module plugin.

[ExoPlayer from the video_player plugin]: {{site.repo.packages}}/blob/main/packages/video_player/video_player_android/android/build.gradle
[firebase_crashlytics]: {{site.pub}}/packages/firebase_crashlytics
[Gradle file]: {{site.github}}/firebase/flutterfire/blob/bdb95fcacf7cf077d162d2f267eee54a8b0be3bc/packages/firebase_crashlytics/android/build.gradle#L40
[Gradle file]: {{site.repo.flutterfire}}/blob/bdb95fcacf7cf077d162d2f267eee54a8b0be3bc/packages/firebase_crashlytics/android/build.gradle#L40
[resolves dependency version conflicts]: https://docs.gradle.org/current/userguide/dependency_resolution.html#sub:resolution-strategy
2 changes: 1 addition & 1 deletion sites/docs/src/content/add-to-app/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ Web limitations:
[`FlutterActivity`]: {{site.api}}/javadoc/io/flutter/embedding/android/FlutterActivity.html
[java-engine]: {{site.api}}/javadoc/io/flutter/embedding/engine/FlutterEngine.html
[ios-engine]: {{site.api}}/ios-embedder/interface_flutter_engine.html
[FlutterFire]: {{site.github}}/firebase/flutterfire/tree/main/packages
[FlutterFire]: {{site.repo.flutterfire}}/tree/main/packages
[`FlutterFragment`]: {{site.api}}/javadoc/io/flutter/embedding/android/FlutterFragment.html
[`FlutterPlugin`]: {{site.api}}/javadoc/io/flutter/embedding/engine/plugins/FlutterPlugin.html
[`FlutterViewController`]: {{site.api}}/ios-embedder/interface_flutter_view_controller.html
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ You can now [add a Flutter screen][] to your existing iOS app.
[CocoaPods]: https://cocoapods.org/
[app-size]: /resources/faq#how-big-is-the-flutter-engine
[VS Code]: /tools/vs-code
[News Feed app]: {{site.github}}/flutter/put-flutter-to-work/tree/022208184ec2623af2d113d13d90e8e1ce722365
[News Feed app]: https://github.com/flutter/put-flutter-to-work/tree/022208184ec2623af2d113d13d90e8e1ce722365
[Debugging your add-to-app module]: /add-to-app/debugging/
[apple-silicon]: https://support.apple.com/en-us/116943
[read-only]: https://blog.cocoapods.org/CocoaPods-Specs-Repo/
Expand Down
2 changes: 1 addition & 1 deletion sites/docs/src/content/add-to-app/performance.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,6 @@ OpenGL (or Vulkan or Metal) GPU instructions.
[multiple Flutters]: /add-to-app/multiple-flutters
[`runApp()`]: {{site.api}}/flutter/widgets/runApp.html
[`runWithEntrypoint:`]: {{site.api}}/ios-embedder/interface_flutter_engine.html#a019d6b3037eff6cfd584fb2eb8e9035e
[snapshot]: {{site.github}}/dart-lang/sdk/wiki/Snapshots
[snapshot]: {{site.repo.dart-sdk}}/wiki/Snapshots
[`startActivity()`]: {{site.android-dev}}/reference/android/content/Context#startActivity(android.content.Intent)
[`Surface`]: {{site.android-dev}}/reference/android/view/Surface
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,4 @@ To build and run the sample, follow the instructions in the [AI Chat README][].
{% comment %} TODO: If Mit agrees, move this to an official Flutter repo Chris
didn't want to do it so close to release {% endcomment %}

[AI Chat README]: {{site.github}}/csells/flutter_ai_chat
[AI Chat README]: https://github.com/csells/flutter_ai_chat
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,6 @@ the user's prompt and attachments as Markdown
to send back to the user as its response.

[Echo example app]:
{{site.github}}/flutter/ai/blob/main/lib/src/providers/implementations/echo_provider.dart
https://github.com/flutter/ai/blob/main/lib/src/providers/implementations/echo_provider.dart
[Firebase provider]:
{{site.pub-api}}/flutter_ai_toolkit/latest/flutter_ai_toolkit/FirebaseProvider-class.html
26 changes: 13 additions & 13 deletions sites/docs/src/content/ai/ai-toolkit/feature-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ To see a complete example of setting the welcome message, check out the [welcome
example][].

[welcome example]:
{{site.github}}/flutter/ai/blob/main/example/lib/welcome/welcome.dart
https://github.com/flutter/ai/blob/main/example/lib/welcome/welcome.dart

## Suggested prompts

Expand Down Expand Up @@ -116,7 +116,7 @@ To see a complete example of setting up suggestions for the user, take a look at
the [suggestions example][].

[suggestions example]:
{{site.github}}/flutter/ai/blob/main/example/lib/suggestions/suggestions.dart
https://github.com/flutter/ai/blob/main/example/lib/suggestions/suggestions.dart

## LLM instructions

Expand Down Expand Up @@ -187,7 +187,7 @@ To use function calling, you need to define your tools and pass them to the
`FirebaseProvider`. Check out the [function calling example][] for details.

[function calling example]:
{{site.github}}/flutter/ai/blob/main/example/lib/function_calls/function_calls.dart
https://github.com/flutter/ai/blob/main/example/lib/function_calls/function_calls.dart

## Disable attachments and audio input

Expand Down Expand Up @@ -235,7 +235,7 @@ LlmChatView(
Check out the [custom STT example][] for details.

[custom STT example]:
{{site.github}}/flutter/ai/tree/main/example/lib/custom_stt
https://github.com/flutter/ai/tree/main/example/lib/custom_stt

## Manage cancel or error behavior

Expand Down Expand Up @@ -356,8 +356,8 @@ To see history in action, check out the [recipes example app][] and the [history
example app][].

[history example app]:
{{site.github}}/flutter/ai/blob/main/example/lib/history/history.dart
[recipes example app]: {{site.github}}/flutter/ai/tree/main/example/lib/recipes
https://github.com/flutter/ai/blob/main/example/lib/history/history.dart
[recipes example app]: https://github.com/flutter/ai/tree/main/example/lib/recipes

## Chat serialization/deserialization

Expand Down Expand Up @@ -413,7 +413,7 @@ every time and, in the face of binary attachments, that could take a while.
To see this in action, check out the [history example app][].

[history example app]:
{{site.github}}/flutter/ai/blob/main/example/lib/history/history.dart
https://github.com/flutter/ai/blob/main/example/lib/history/history.dart

## Custom response widgets

Expand Down Expand Up @@ -592,11 +592,11 @@ example][custom-ex] and the [styles example][styles-ex], check out the [dark
mode example][] and the [demo app][].

[custom-ex]:
{{site.github}}/flutter/ai/blob/main/example/lib/custom_styles/custom_styles.dart
[styles-ex]: {{site.github}}/flutter/ai/blob/main/example/lib/styles/styles.dart
https://github.com/flutter/ai/blob/main/example/lib/custom_styles/custom_styles.dart
[styles-ex]: https://github.com/flutter/ai/blob/main/example/lib/styles/styles.dart
[dark mode example]:
{{site.github}}/flutter/ai/blob/main/example/lib/dark_mode/dark_mode.dart
[demo app]: {{site.github}}/flutter/ai#online-demo
https://github.com/flutter/ai/blob/main/example/lib/dark_mode/dark_mode.dart
[demo app]: https://github.com/flutter/ai#online-demo
[reference documentation]:
{{site.pub-api}}/flutter_ai_toolkit/latest/flutter_ai_toolkit/LlmChatViewStyle-class.html

Expand Down Expand Up @@ -685,7 +685,7 @@ To see this in action, check out the [Edit Recipe page][] of the recipes
example.

[Edit Recipe page]:
{{site.github}}/flutter/ai/blob/main/example/lib/recipes/pages/edit_recipe_page.dart
https://github.com/flutter/ai/blob/main/example/lib/recipes/pages/edit_recipe_page.dart

## Rerouting prompts

Expand Down Expand Up @@ -744,4 +744,4 @@ Retrieval Augmented Generation (RAG).
To see this in action, check out the [logging example app][].

[logging example app]:
{{site.github}}/flutter/ai/blob/main/example/lib/logging/logging.dart
https://github.com/flutter/ai/blob/main/example/lib/logging/logging.dart
14 changes: 7 additions & 7 deletions sites/docs/src/content/ai/ai-toolkit/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Here's what the demo example looks like hosting the AI Toolkit:

The [source code for this demo][src-code] is available in the repo on GitHub.

[src-code]: {{site.github}}/flutter/ai/blob/main/example/lib/demo/demo.dart
[src-code]: https://github.com/flutter/ai/blob/main/example/lib/demo/demo.dart

## Get started

Expand Down Expand Up @@ -163,9 +163,9 @@ examples.
[options]:
https://firebase.google.com/docs/vertex-ai/gemini-models#available-model-names
[gemini.dart]:
{{site.github}}/flutter/ai/blob/main/example/lib/gemini/gemini.dart
https://github.com/flutter/ai/blob/main/example/lib/gemini/gemini.dart
[vertex.dart]:
{{site.github}}/flutter/ai/blob/main/example/lib/vertex/vertex.dart
https://github.com/flutter/ai/blob/main/example/lib/vertex/vertex.dart
</li>

<li><b>Set up device permissions</b>
Expand Down Expand Up @@ -247,7 +247,7 @@ the AI Toolkit is just as robust and useful as it can be for your real-world
apps.

[add-fb]: https://firebase.google.com/docs/flutter/setup
[example apps]: {{site.github}}/flutter/ai/tree/main/example/lib
[file-issues]: {{site.github}}/flutter/ai/issues
[submit]: {{site.github}}/flutter/ai/pulls
[vertex-ex]: {{site.github}}/flutter/ai/blob/main/example/lib/vertex/vertex.dart
[example apps]: https://github.com/flutter/ai/tree/main/example/lib
[file-issues]: https://github.com/flutter/ai/issues
[submit]: https://github.com/flutter/ai/pulls
[vertex-ex]: https://github.com/flutter/ai/blob/main/example/lib/vertex/vertex.dart
2 changes: 1 addition & 1 deletion sites/docs/src/content/ai/antigravity.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,6 @@ when you prompt it to modify your app.
This enables a hands-free, "prompt-to-reload" workflow
that reduces context switching and development latency.

[ag-video]: {{site.youtube-site}}/watch?v=YY2w2JEX2xk&t=1s
[ag-video]: {{site.yt.watch}}?v=YY2w2JEX2xk&t=1s
[Create a new Flutter app]: /reference/create-new-app#antigravity
[vs-code]: /tools/vs-code
Original file line number Diff line number Diff line change
Expand Up @@ -154,5 +154,5 @@ Doing this a few times keeps the code in good shape for AI agents and humans
alike.


[requirements]: {{site.github}}/flutter/demos/blob/main/crossword_companion/specs/requirements.md
[tasks-spec]: {{site.github}}/flutter/demos/blob/main/crossword_companion/specs/tasks.md
[requirements]: {{site.repo.demos}}/blob/main/crossword_companion/specs/requirements.md
[tasks-spec]: {{site.repo.demos}}/blob/main/crossword_companion/specs/tasks.md
2 changes: 1 addition & 1 deletion sites/docs/src/content/ai/best-practices/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,4 @@ practices to use when you're building your own AI apps with Flutter. So let's
get to it!


[crossword-app]: {{site.github}}/flutter/demos/tree/main/crossword_companion
[crossword-app]: {{site.repo.demos}}/tree/main/crossword_companion
4 changes: 2 additions & 2 deletions sites/docs/src/content/ai/best-practices/prompting.md
Original file line number Diff line number Diff line change
Expand Up @@ -201,9 +201,9 @@ use [the dotprompt_dart package][dotprompt-dart].



[crossword-readme]: {{site.github}}/flutter/demos/tree/main/crossword_companion
[crossword-readme]: {{site.repo.demos}}/tree/main/crossword_companion
[gemini-app]: https://gemini.google.com/app
[ai-toolkit]: /ai-toolkit
[crossword-demo]: {{site.github}}/flutter/demos/raw/refs/heads/main/crossword_companion/readme/screen-recording.mov
[crossword-demo]: {{site.repo.demos}}/raw/refs/heads/main/crossword_companion/readme/screen-recording.mov
[dotprompt]: https://google.github.io/dotprompt/getting-started/
[dotprompt-dart]: {{site.pub-pkg}}/dotprompt_dart
2 changes: 1 addition & 1 deletion sites/docs/src/content/ai/create-with-ai.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ resources:
AI-powered features in Flutter.

[Firebase AI Logic]: {{site.firebase}}/docs/ai-logic
[Firebase AI Logic Showcase]: {{site.github}}/flutter/demos/tree/main/firebase_ai_logic_showcase
[Firebase AI Logic Showcase]: {{site.repo.demos}}/tree/main/firebase_ai_logic_showcase
[firebase-ai-logic-docs]: {{site.firebase}}/docs/ai-logic/get-started
[Genkit Dart]: https://genkit.dev
[genkit-dart-quickstart]: https://genkit.dev/docs/dart/overview
Expand Down
26 changes: 13 additions & 13 deletions sites/docs/src/content/contribute/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ and account for any [necessary migrations][].

[switch-channels]: /install/upgrade#change-channels
[beta-channel]: /install/upgrade#the-beta-channel
[report-bugs]: {{site.github}}/flutter/flutter/issues/new/choose
[report-bugs]: {{site.repo.flutter}}/issues/new/choose
[necessary migrations]: /release/breaking-changes

## Contribute code
Expand Down Expand Up @@ -233,24 +233,24 @@ you might want to contribute to:

- The pub.dev site
- **Live site:** [`pub.dev`]({{site.pub}})
- **Repository:** [`dart-lang/pub-dev`]({{site.github}}/dart-lang/pub-dev)
- **Contribution guide:** [`CONTRIBUTING.md`]({{site.github}}/dart-lang/pub-dev/blob/master/CONTRIBUTING.md)
- **Repository:** [`dart-lang/pub-dev`](https://github.com/dart-lang/pub-dev)
- **Contribution guide:** [`CONTRIBUTING.md`](https://github.com/dart-lang/pub-dev/blob/master/CONTRIBUTING.md)
- The Flutter documentation site
- **Live site:** [`docs.flutter.dev`]({{site.url}})
- **Repository:** [`flutter/website`]({{site.repo.this}})
- **Contribution guide:** [`CONTRIBUTING.md`]({{site.github}}/flutter/website/blob/main/CONTRIBUTING.md)
- **Contribution guide:** [`CONTRIBUTING.md`]({{site.repo.this}}/blob/main/CONTRIBUTING.md)
- The Dart documentation site
- **Live site:** [`dart.dev`]({{site.dart-site}})
- **Repository:** [`dart-lang/site-www`]({{site.github}}/dart-lang/site-www)
- **Contribution guide:** [`CONTRIBUTING.md`]({{site.github}}/dart-lang/site-www/blob/main/CONTRIBUTING.md)
- **Repository:** [`dart-lang/site-www`](https://github.com/dart-lang/site-www)
- **Contribution guide:** [`CONTRIBUTING.md`](https://github.com/dart-lang/site-www/blob/main/CONTRIBUTING.md)
- DartPad
- **Live site:** [`dartpad.dev`]({{site.dartpad}})
- **Repository:** [`dart-lang/dart-pad`]({{site.github}}/dart-lang/dart-pad)
- **Contribution guide:** [`CONTRIBUTING.md`]({{site.github}}/dart-lang/dart-pad/blob/main/CONTRIBUTING.md)
- **Repository:** [`dart-lang/dart-pad`](https://github.com/dart-lang/dart-pad)
- **Contribution guide:** [`CONTRIBUTING.md`](https://github.com/dart-lang/dart-pad/blob/main/CONTRIBUTING.md)
- The `dartdoc` tool
- **Live site:** [`api.flutter.dev`]({{site.api}})
- **Repository:** [`dart-lang/dartdoc`]({{site.github}}/dart-lang/dartdoc)
- **Contribution guide:** [`CONTRIBUTING.md`]({{site.github}}/dart-lang/dartdoc/blob/main/CONTRIBUTING.md)
- **Repository:** [`dart-lang/dartdoc`](https://github.com/dart-lang/dartdoc)
- **Contribution guide:** [`CONTRIBUTING.md`](https://github.com/dart-lang/dartdoc/blob/main/CONTRIBUTING.md)

### Dart SDK

Expand All @@ -262,8 +262,8 @@ Dart's contribution workflow is slightly different,
so if you're interested, make sure to check out its
[contribution][dart-contribute] and [building][dart-build] guides.

[dart-contribute]: {{site.github}}/dart-lang/sdk/blob/main/CONTRIBUTING.md
[dart-build]: {{site.github}}/dart-lang/sdk/blob/main/docs/Building.md
[dart-contribute]: {{site.repo.dart-sdk}}/blob/main/CONTRIBUTING.md
[dart-build]: {{site.repo.dart-sdk}}/blob/main/docs/Building.md

### Code samples

Expand Down Expand Up @@ -324,7 +324,7 @@ check out the [`dart-lang/site-www` contribution docs][dart-dev-contribute].

[website-contribute]: {{site.repo.this}}/blob/main/CONTRIBUTING.md
[Dart website]: {{site.dart-site}}
[dart-dev-contribute]: {{site.github}}/dart-lang/site-www/tree/main?tab=readme-ov-file#getting-started
[dart-dev-contribute]: https://github.com/dart-lang/site-www/tree/main?tab=readme-ov-file#getting-started

## Triage issues

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -897,7 +897,7 @@ class CardListItem extends StatelessWidget {


[`AnimationController`]: {{site.api}}/flutter/animation/AnimationController-class.html
[cloning the example code]: {{site.github}}/flutter/codelabs
[cloning the example code]: https://github.com/flutter/codelabs
[issue 44152]: {{site.repo.flutter}}/issues/44152
[`LinearGradient`]: {{site.api}}/flutter/painting/LinearGradient-class.html
[`Listenable`]: {{site.api}}/flutter/foundation/Listenable-class.html
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,6 @@ The Flutter Casual Games Toolkit includes the following templates:
where the player endlessly runs, avoiding pitfalls
and gaining rewards

[basic]: {{site.github}}/flutter/games/tree/main/templates/basic#readme
[card]: {{site.github}}/flutter/games/tree/main/templates/card#readme
[endless runner]: {{site.github}}/flutter/games/tree/main/templates/endless_runner#readme
[basic]: {{site.repo.games}}/tree/main/templates/basic#readme
[card]: {{site.repo.games}}/tree/main/templates/card#readme
[endless runner]: {{site.repo.games}}/tree/main/templates/endless_runner#readme
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ You can ignore this step and follow the recipe with your own game
project. Adapt the code at appropriate places.
:::

[`card`]: {{site.github}}/flutter/games/tree/main/templates/card#readme
[`flutter/games` repository]: {{site.github}}/flutter/games
[`card`]: {{site.repo.games}}/tree/main/templates/card#readme
[`flutter/games` repository]: {{site.repo.games}}

## 2. Install Firestore

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ To view a working example,
see the [Sentry flutter example][] app.


[Sentry flutter example]: {{site.github}}/getsentry/sentry-dart/tree/main/flutter/example
[Sentry flutter example]: https://github.com/getsentry/sentry-dart/tree/main/flutter/example
[Create an account with Sentry]: https://sentry.io/signup/
[Bugsnag]: https://www.bugsnag.com/platforms/flutter
[Datadog]: https://docs.datadoghq.com/real_user_monitoring/flutter/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ launches and displays the details screen:

Source code: [deeplink_cookbook][]

[deeplink_cookbook]: {{site.github}}/flutter/codelabs/tree/main/deeplink_cookbook
[deeplink_cookbook]: https://github.com/flutter/codelabs/tree/main/deeplink_cookbook
[Firebase Hosting]: {{site.firebase}}/docs/hosting
[go_router]: {{site.pub}}/packages/go_router
[GitHub Pages]: https://pages.github.com
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ check out the Google I/O 2024 talk,

[`camera_android_camerax`]: {{site.pub-pkg}}/camera_android_camerax
[CameraX]: https://developer.android.com/training/camerax
[camerax-video]: {{site.youtube-site}}/watch?v=d1sRCa5k2Sg&t=1s
[camerax-video]: {{site.yt.watch}}?v=d1sRCa5k2Sg&t=1s

This recipe demonstrates how to use the `camera` plugin to display a preview,
take a photo, and display it using the following steps:
Expand Down
2 changes: 1 addition & 1 deletion sites/docs/src/content/data-and-backend/firebase.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ The Flutter community created the following useful resources.
* [Flutter: Firebase Tutorial Part 1 - Auth and Sign in][video4]

[article]: {{site.flutter-blog}}/must-try-use-firebase-to-host-your-flutter-app-on-the-web-852ee533a469
[chat app]: {{site.medium}}/flutter-community/building-a-chat-app-with-flutter-and-firebase-from-scratch-9eaa7f41782e
[chat app]: https://medium.com/flutter-community/building-a-chat-app-with-flutter-and-firebase-from-scratch-9eaa7f41782e
[codelab1]: {{site.codelabs}}/codelabs/firebase-get-to-know-flutter
[Firebase plugins]: {{site.firebase}}/docs/flutter/setup#available-plugins
[started]: {{site.firebase}}/docs/flutter/setup
Expand Down
Loading
Loading