• Stars
    star
    471
  • Rank 93,216 (Top 2 %)
  • Language MDX
  • License
    Apache License 2.0
  • Created about 6 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

AWS Amplify Framework Documentation

Amplify Documentation

DiscordChat

https://docs.amplify.aws

Prerequisites

Set up the docs repo

  1. Fork this repo and git clone it.
  2. In your terminal, navigate to the repo from where it was just cloned. This should be located at the /docs directory.
  3. From your command line, run yarn && yarn dev.
  4. http://localhost:3000/ should open automatically.

How to contribute

We welcome contributions to the documentation site! Here's how to do it:

  1. Follow our styleguide, especially if writing longer pieces.
  2. Verify your changes locally.
  3. Make a PR to our main branch.
    1. Please include any issues your PR addresses.
    2. If any files have been deleted with your PR, please indicate that redirects are needed in your PR description and/or add the redirects-needed label.

What's next? After your PR is reviewed and all tests pass, it will be merged and the branch will be deleted.

Branches

  • main - at parity with our production site docs.amplify.aws
  • gh-pages - DO NOT DELETE! Handle redirects from v1 of the documentation site.

Authoring pages

Our docs are generated using Next.js. Refer to their docs on how to create pages as a primer.

The pages' source are in src. This folder is the only directory you need to touch to edit or create pages.

Within this folder exists a pages/index.tsx file. This will be rendered as a page at the route /. Within the pages/lib/q/platform/ folder is a [platform].mdx file, which will be rendered as a page at the route /lib.

To have the page render properly and display in the sidebar, place your page and its route in src/directory/directory.js.

IMPORTANT: Every page has to have a title and description meta field.

The markdown body is parsed as MDX and can include any valid HTML or JSX.

To inline fragments, and have them conditionally render based off selected platform, we add the condition to the Fragments tag:

import js from "/src/fragments/lib/datastore/js/conflict.mdx";

<Fragments fragments={{js: js}} />;

This fragment would exist in: pages/src/fragments/lib/datastore/js/conflict.mdx

Tab-switchable Blocks

BlockSwitcher allows you to organize blocks of content into tabs. This is useful for presenting a reader different instructions based upon framework (e.g., Vue.js vs. React) or language (e.g., Java vs. Kotlin). Here's an example of its usage:

<BlockSwitcher>

<Block name="JavaScript">

```js
const a = "a";
```

</Block>

<Block name="TypeScript">

```ts
const a: "a" = "a";
```

</Block>

<Block name="Rust">

```rust
let mut a = String::from("a");
```

</Block>

</BlockSwitcher>

Debug client-side code with browser developer tools

Prerequisites

To debug

  1. Set up the repo and run it with the dev script mentioned above in the "Getting Started" section.
  2. On your localhost page, go to the page with the React component you want to debug and open up the developer tools.
  3. To know which source file to breakpoint on, we need to find the name of the component first.
    • Open up the dev tools and use the react dev tools to find the component. Do this by using the "Select an element on the page to inspect it" tool under the "Components" tab.

    • Search for the variable/component name inside the source code to find the file you want to debug.

    • Place the breakpoint inside the file under the "Sources" tab in the browser's dev tools.

      • Note that since the Amplify Docs site is built with nextjs, file paths will start with "webpack://_N_E/./"
  4. Refresh your localhost site and the breakpoint should hit in the browser's dev tools. You should be able to debug the code.

Another way to find which file you want to debug is to search for strings/paragraphs seen in Amplify docs site. Search for the strings in your code editor and you'll find that they will be in a .mdx file. You should see the components that are being rendered and be able to find the file name you want to debug.

More info on debugging can be found here: https://nextjs.org/docs/advanced-features/debugging

More Repositories

1

amplify-js

A declarative JavaScript library for application development using cloud services.
TypeScript
9,360
star
2

amplify-cli

The AWS Amplify CLI is a toolchain for simplifying serverless web and mobile development.
TypeScript
2,783
star
3

aws-sdk-ios

AWS SDK for iOS. For more information, see our web site:
Objective-C
1,657
star
4

amplify-flutter

A declarative library with an easy-to-use interface for building Flutter applications on AWS.
Dart
1,282
star
5

aws-sdk-android

AWS SDK for Android. For more information, see our web site:
Java
1,009
star
6

amplify-ui

Amplify UI is a collection of accessible, themeable, performant React (and more!) components that can connect directly to the cloud.
TypeScript
759
star
7

amplify-hosting

AWS Amplify Hosting provides a Git-based workflow for deploying and hosting fullstack serverless web applications.
Dockerfile
439
star
8

amplify-swift

A declarative library for application development using cloud services.
Swift
423
star
9

learn

AWS Amplify Learn
JavaScript
257
star
10

amplify-android

The fastest and easiest way to use AWS from your Android app.
Java
227
star
11

amplify-studio

AWS Amplify Studio (Formerly Admin UI)
131
star
12

amplify-js-samples

A Sample Repository for Amplify JS Samples
116
star
13

amplify-backend

Home to all tools related to Amplify's code-first DX (Gen 2) for building fullstack apps on AWS
TypeScript
102
star
14

amplify-category-api

The AWS Amplify CLI is a toolchain for simplifying serverless web and mobile development. This plugin provides functionality for the API category, allowing for the creation and management of GraphQL and REST based backends for your amplify project.
TypeScript
74
star
15

amplify-codegen

Amplify Codegen is a JavaScript toolkit library for frontend and mobile developers building Amplify applications.
TypeScript
58
star
16

amplify-codegen-ui

Generate React components for use in an AWS Amplify project.
TypeScript
30
star
17

aws-sdk-ios-spm

This repository enables Swift Package Manager support for the AWS Mobile SDK for iOS
Swift
28
star
18

discord-bot

Discord bot for the AWS Amplify Discord Server
TypeScript
24
star
19

amplify-ios-samples

Swift
22
star
20

aws-amplify.github.io

Amplify Framework Website
HTML
20
star
21

aws-appsync-realtime-client-ios

A client implementation in Swift for the AWS AppSync service on the iOS platform.
Swift
16
star
22

amplify-ci-support

Scripts and tools for managing Amplify projects in continuous integration environments, and for local developer setup of integration test environments.
Python
16
star
23

maplibre-gl-js-amplify

TypeScript
13
star
24

maplibre-gl-draw-circle

Supports drawing/editing a circle on a Mapbox map.
JavaScript
12
star
25

amplify-cli-export-construct

TypeScript
11
star
26

amplify-ui-swift-authenticator

The Amplify UI Authenticator is a component that supports several authentiation flows using Amplify Authentication.
Swift
11
star
27

amplify-ui-android

Amplify UI for Android is a collection of accessible, themeable, performant Android components that can connect directly to the cloud.
Kotlin
9
star
28

amplify-ui-swift-liveness

This repository offers a UI component for Amazon Rekognition Face Liveness, enabling developers to ensure that only authentic users, and not bad actors using spoofs, can access their services.
Swift
8
star
29

amplify-android-samples

Samples for testing out Amplify Android libraries
Kotlin
6
star
30

amplify-ios-maplibre

An adapter to leverage Amplify Geo with the map rendering of MapLibre.
Swift
4
star
31

amplify-swift-utils-notifications

This repository serves as a dependency package for amplify-swift, providing valuable functionalities to handle push notifications on iOS and macOS platforms.
Swift
4
star
32

amplify-swift-plugin-toolkit

A toolkit for developing Swift Plugins for Amplify.
Swift
1
star