Skip to content

Commit

Permalink
[docs] fix broken links on get started and guides (#7992)
Browse files Browse the repository at this point in the history
* [docs] fix configure for android doc link in expo notifications

* [docs]: fix android emulator guide link

* [docs] fix edit page on github for homepage

* [docs] fix expo sdk overview links

* [docs] remove non-existing harvard cs50 mobile course

* [docs] remove deprecated custom proxy app on android

* [docs] replace unity hardware stats with material device specification

* [docs] fix broken graphql links in using graphql

* [docs] fix broken adhoc build links
  • Loading branch information
byCedric committed Apr 24, 2020
1 parent 085eca3 commit 92bad7c
Show file tree
Hide file tree
Showing 14 changed files with 21 additions and 27 deletions.
2 changes: 1 addition & 1 deletion docs/components/DocumentationFooter.js
Expand Up @@ -25,7 +25,7 @@ function githubUrl(path) {
} else {
path = path.replace('/versions/latest/', '/versions/unversioned/');
}
} else if (path.match(/v\d+\.\d+\.\d+\/?$/)) {
} else if (path.match(/v\d+\.\d+\.\d+\/?$/) || path === '/') {
if (path[path.length - 1] === '/') {
path = `${path}index`;
} else {
Expand Down
6 changes: 3 additions & 3 deletions docs/pages/_error.js
Expand Up @@ -230,7 +230,8 @@ function endsInNull(path) {
const RENAMED_PAGES = {
'/introduction/project-lifecycle/': '/introduction/managed-vs-bare/',
'/guides/': '/workflow/exploring-managed-workflow/',
'/versions/latest/sdk/': '/versions/latest/sdk/overview/',
'/versions/latest/sdk/': '/versions/latest/',
'/versions/latest/sdk/overview/': '/versions/latest/',
'/guides/building-standalone-apps/': '/distribution/building-standalone-apps/',
'/guides/genymotion/': '/workflow/android-studio-emulator/',
'/workflow/upgrading-expo/': '/workflow/upgrading-expo-sdk-walkthrough/',
Expand Down Expand Up @@ -260,6 +261,5 @@ const RENAMED_PAGES = {
'/workflow/exploring-managed-workflow/': '/introduction/walkthrough/',

// Move overview to index
'/versions/v37.0.0/sdk/overview/': '/versions/v37.0.0/sdk/',
'/versions/latest/sdk/overview/': '/versions/latest/sdk/',
'/versions/v37.0.0/sdk/overview/': '/versions/v37.0.0/',
};
2 changes: 1 addition & 1 deletion docs/pages/expokit/eject.md
Expand Up @@ -22,7 +22,7 @@ We call this "ejecting" because you still depend on the Expo SDK, but your proje

### You might want to eject if:

- Your Expo project needs a native module that Expo doesn't currently support. We're always expanding the [Expo SDK](/versions/latest/sdk/overview/), so we hope this is never the case. But it happens, especially if your app has very specific and uncommon native demands.
- Your Expo project needs a native module that Expo doesn't currently support. We're always expanding the [Expo SDK](/versions/latest/), so we hope this is never the case. But it happens, especially if your app has very specific and uncommon native demands.

### You should not eject if:

Expand Down
4 changes: 2 additions & 2 deletions docs/pages/guides.md
Expand Up @@ -13,7 +13,7 @@ In the managed workflow section we discuss topics as they apply specifically to
- [Expo CLI](../workflow/expo-cli/)
- [Debugging](../workflow/debugging/)
- [iOS Simulator](../workflow/ios-simulator/)
- [Android Emulator](../workflow/android-emulator/)
- [Android Emulator](../workflow/android-studio-emulator/)
- [App Icons](../guides/app-icons/)
- [Splash Screens](../guides/splash-screens/)
- [Distributing your App on the App Store and Play Store](../distribution/introduction/)
Expand All @@ -33,4 +33,4 @@ The bare workflow section provides less guides than are available in the managed

## Looking for something else?

The [API Reference](../versions/latest/) includes comprehensive documentation around the built-in APIs in the Expo SDK and how to use them.
The [API Reference](../versions/latest/) includes comprehensive documentation around the built-in APIs in the Expo SDK and how to use them.
4 changes: 2 additions & 2 deletions docs/pages/guides/adhoc-builds.md
Expand Up @@ -2,7 +2,7 @@
title: Installing a Custom iOS Expo client
---

Build and install a custom version of the [Expo client](../../versions/latest/introduction/installation/#mobile-client-expo-for-ios-and-android) with your own Apple Credentials using our build service. This custom version of the Expo client contains features that were previously only available on the Android versions. Our build service will prepare your custom Expo client, and you can install it to your iOS device directly from our website.
Build and install a custom version of the [Expo client](../../get-started/installation/#2-mobile-app-expo-client-for-ios) with your own Apple Credentials using our build service. This custom version of the Expo client contains features that were previously only available on the Android versions. Our build service will prepare your custom Expo client, and you can install it to your iOS device directly from our website.

#### Installation overview

Expand All @@ -24,7 +24,7 @@ Run `expo client:ios`

You are given a choice of letting `expo-cli` create the necessary credentials for you, while still having a chance to provide your own overrides. Your Apple ID and password are used locally and never saved on Expo's servers.

Letting Expo handle credentials for you will greatly simplify the build process. Learn more [here](../../versions/latest/distribution/security) on what these credentials are and how we store them.
Letting Expo handle credentials for you will greatly simplify the build process. Learn more [here](../../distribution/security) on what these credentials are and how we store them.

```sh
$ expo client:ios
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/guides/splash-screens.md
Expand Up @@ -12,7 +12,7 @@ The default splash screen is a blank white screen. This might work for you, if i

The [iOS Human Interface Guidelines](https://developer.apple.com/ios/human-interface-guidelines/icons-and-images/launch-screen/) list the static launch image sizes. I'll go with `1242` pixels wide and `2436` pixels tall -- this is the width of the iPhone 8 Plus (the widest iPhone) and the height of the iPhone X (the tallest iPhone). Expo will resize the image for you depending on the size of the device, and we can specify the strategy used to resize the image with `splash.resizeMode`.

Android screen sizes vary greatly with the massive variety of devices on the market. One strategy to deal with this is to look at the most common resolutions and design around that - [you can see some statistics on this published by Unity here](https://hwstats.unity3d.com/mobile/display-android.html). Given that we can resize and crop our splash image automatically, it looks like we can stick with our dimensions, as long as we don't depend on the splash image fitting the screen exactly. This is convenient because we can use one splash image for both iOS and Android - less for you to read in this guide and less work for you to do.
Android screen sizes vary greatly with the massive variety of devices on the market. One strategy to deal with this is to look at the most common resolutions and design around that - [you can see a list of devices and their resolutions here](https://material.io/resources/devices/). Given that we can resize and crop our splash image automatically, it looks like we can stick with our dimensions, as long as we don't depend on the splash image fitting the screen exactly. This is convenient because we can use one splash image for both iOS and Android - less for you to read in this guide and less work for you to do.

You can work off of [this Sketch template](https://github.com/expo/files/blob/b264c7f7bf2cacfbdb45640063988ab61dfbbe23/splash-template.sketch?raw=true) if you like. I did, and I changed the background color to a faint yellow and put a Noodle emoji in the middle. It's worth noting that the splash image supports transparency, although we didn't use it here.

Expand Down
6 changes: 2 additions & 4 deletions docs/pages/guides/using-graphql.md
Expand Up @@ -62,7 +62,7 @@ When a server receives the above query, it will [resolve](https://blog.graph.coo
}
```

The root of the returned JSON object is a field called `data` as defined in the official [GraphQL specification](http://facebook.github.io/graphql/#sec-Data). The rest of the JSON object then contains exactly the information that the client asked for in the query. If the client for example hadn’t included the `imageUrl` in the query’s selection set, the server wouldn’t have included it in its response either.
The root of the returned JSON object is a field called `data` as defined in the official [GraphQL specification](http://spec.graphql.org/draft/#sec-Data). The rest of the JSON object then contains exactly the information that the client asked for in the query. If the client for example hadn’t included the `imageUrl` in the query’s selection set, the server wouldn’t have included it in its response either.

In case the GraphQL request fails for some reason, e.g. because the query was malformed, the server will not return the `data` field but instead return an array called `errors` with information about the failure. Notice that it can happen that the server returns both, `data` *and* `errors` . This can occur when the server can only partially resolve a query, e.g. because the user requesting the data only had the access rights for specific parts of the query's payload.

Expand Down Expand Up @@ -138,7 +138,7 @@ You can read more about the core GraphQL constructs [here](https://www.howtograp

## Getting started with GraphQL

The first thing you need when getting started with GraphQL is of course a GraphQL server. As GraphQL itself is only a [specification](https://facebook.github.io/graphql/), you can either implement your own server using one of the available [reference implementations](http://graphql.org/code/#server-libraries) or take a shortcut by using a tool like [Apollo Launchpad](https://launchpad.graphql.com/).
The first thing you need when getting started with GraphQL is of course a GraphQL server. As GraphQL itself is only a [specification](http://spec.graphql.org/draft/), you can either implement your own server using one of the available [reference implementations](http://graphql.org/code/#server-libraries) or take a shortcut by using a tool like [Apollo Launchpad](https://launchpad.graphql.com/).

The best way to get started with GraphQL in production is to use [`graphql-yoga`](https://github.com/graphcool/graphql-yoga), a flexible GraphQL server based on Express.js. `graphql-yoga` has a number of compelling features, such as support for [GraphQL Playground](https://github.com/graphcool/graphql-playground) and built-in GraphQL subscriptions for realtime functionality.

Expand All @@ -157,8 +157,6 @@ There are four major GraphQL clients available at the moment:

Apollo, Relay and Urql implement further features like caching, realtime support with GraphQL subscriptions or optimistic UI updates.

Learn how to integrate with Auth0 social providers in the [expo-auth0-example](https://github.com/graphcool-examples/react-native-graphql/tree/master/authentication-with-expo-and-auth0) repository.

### Creating your own GraphQL server

The fastest way to get started with GraphQL is by using a [GraphQL boilerplate](https://github.com/graphql-boilerplates) project for the technology of your choice. GraphQL boilerplates provide the ideal starter kits for your GraphQL-based projects - no matter if backend-only or fullstack.
Expand Down
4 changes: 2 additions & 2 deletions docs/pages/introduction/faq.md
Expand Up @@ -44,7 +44,7 @@ If that sounds like you, you can see what we offer at https://expo.io/developer-

Managed Expo projects don't support custom native code, including third-party libraries which require custom native components. In a managed project, you only write JavaScript.

In [our SDK](/versions/latest/sdk/overview/), we give you a large set of commonly desired, high-quality native modules. We recommend doing as much in JavaScript as possible, since it can immediately deploy to all your users and work across both platforms, and will always continue to benefit from Expo SDK updates.
In [our SDK](/versions/latest/), we give you a large set of commonly desired, high-quality native modules. We recommend doing as much in JavaScript as possible, since it can immediately deploy to all your users and work across both platforms, and will always continue to benefit from Expo SDK updates.

However, if you need something custom that isn't possible with the native modules provided in the SDK, like on-the-fly video processing or low-level control over the Bluetooth radio to do a firmware update and [other features requested here](https://expo.canny.io/feature-requests), you can run `expo eject` and have full control over the underlying native projects.

Expand Down Expand Up @@ -85,4 +85,4 @@ Expo supports Android 5+ and iOS 10+.

## Up next

- 👩‍💻 The time has come to write some code. Almost. First we need to install a couple tools. [Continue to "Installation"](../../get-started/installation/).
- 👩‍💻 The time has come to write some code. Almost. First we need to install a couple tools. [Continue to "Installation"](../../get-started/installation/).
6 changes: 3 additions & 3 deletions docs/pages/introduction/walkthrough.md
Expand Up @@ -33,15 +33,15 @@ If you close the `expo-cli` or turn off your computer, you won't be able to acce

## Use the Expo SDK and community standard native libraries to build out native features

Let's scroll through the [API Reference](/versions/latest/sdk/overview/) to find packages that provide the capabilities that we need. If we know right away that the Expo SDK doesn’t have the necessary native APIs built-in, then we should probably eject or re-initialize with the bare workflow template.
Let's scroll through the [API Reference](/versions/latest/) to find packages that provide the capabilities that we need. If we know right away that the Expo SDK doesn’t have the necessary native APIs built-in, then we should probably eject or re-initialize with the bare workflow template.

Let's say we had mockups for our app that look like the following:

<div style={{flex: 1, display: 'flex', alignItems: 'center', justifyContent: 'center', marginBottom: 10}}>
<img src="/static/images/exploring-managed/mockups.png" alt="Mockups of app screens" />
</div>

> _Note: These are actually screenshots from [Sindre Sorhus'](https://github.com/sindresorhus) open source app [Blear](https://sindresorhus.com/blear/), but let's pretend they are mockups for the sake of demonstration._
> _Note: These are actually screenshots from [Sindre Sorhus'](https://github.com/sindresorhus) open source app [Blear](https://sindresorhus.com/blear), but let's pretend they are mockups for the sake of demonstration._
We can tell from looking at the mockups that we’ll need a camera, access to permissions, some way to apply effects to an image, and a way to access the device media library to select images and to save images to an album. We can find equivalents for this by scrolling through the API reference.

Expand Down Expand Up @@ -129,7 +129,7 @@ When we built our Android app bundle above, we told it to point to a specific An

To determine the rules for when apps will download and apply these updates, [read about configuring OTA updates](../../guides/configuring-ota-updates/).

We frequently release updates to the [Expo SDK](/versions/latest/sdk/overview/). If you decide to update your app to a newer version of our SDK, copies of the older version will continue to work fine. Users will download the newest copy that their client supports.
We frequently release updates to the [Expo SDK](/versions/latest/). If you decide to update your app to a newer version of our SDK, copies of the older version will continue to work fine. Users will download the newest copy that their client supports.

## Sending notifications

Expand Down
4 changes: 1 addition & 3 deletions docs/pages/next-steps/additional-resources.md
Expand Up @@ -10,9 +10,7 @@ The following resources are useful for learning Expo and some of the projects th

## Courses using Expo

- [Harvard CS50 Mobile](https://cs50.github.io/mobile/) (free)
- [Stanford CS 47SI
Cross-Platform Mobile Development](https://web.stanford.edu/class/cs47si/) (free)
- [Stanford CS 47SI Cross-Platform Mobile Development](https://web.stanford.edu/class/cs47si/) (free)
- [repl.it - React Native - Build your first app in the next 5 minutes](https://repl.it/site/react_native) (free)
- [React Europe - Introduction to React Native Workshop videos on YouTube](https://www.youtube.com/playlist?list=PLCC436JpVnK2RFms3NG9ubPToWCNbMLbT) (free)
- [Udacity - React Nanodegree](https://www.udacity.com/course/react-nanodegree--nd019) (paid)
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/workflow/already-used-react-native.md
Expand Up @@ -4,7 +4,7 @@ title: Already used React Native?

This guide is intended to give developers who have already used React Native a quick outline on some of the key concepts, resources, and differences they will encounter when using Expo.

You can use just about every part of the [Expo SDK](/versions/latest/sdk/overview/) in any vanilla React Native app - we call using the Expo tools in this context the "bare" workflow. See more about that [here](../../bare/hello-world/). It's basically no different than using libraries in your React Native app, we just offer a lot of well-tested, consistent, and increasingly comprehensive libraries that give you access to the underlying native APIs.
You can use just about every part of the [Expo SDK](/versions/latest/) in any vanilla React Native app - we call using the Expo tools in this context the "bare" workflow. See more about that [here](../../bare/hello-world/). It's basically no different than using libraries in your React Native app, we just offer a lot of well-tested, consistent, and increasingly comprehensive libraries that give you access to the underlying native APIs.

## Expo managed workflow

Expand Down
2 changes: 0 additions & 2 deletions docs/pages/workflow/debugging.md
Expand Up @@ -88,8 +88,6 @@ It's easy to use the React Native Debugger to debug your network requests. Simpl
- [mitmproxy](https://medium.com/@rotxed/how-to-debug-http-s-traffic-on-android-7fbe5d2a34#.hnhanhyoz)
- [Fiddler](http://www.telerik.com/fiddler)

On Android, the [Proxy Settings](https://play.google.com/store/apps/details?id=com.lechucksoftware.proxy.proxysettings) app is helpful for switch between debug and non-debug mode. Unfortunately it doesn't work with Android M yet.

## Debugging Redux

[Redux](https://redux.js.org/) is a popular library for managing the state of your app that doesn't belong to any single component, and instead it shared throughout the app. You can use the React Native Debugger (told you this tool does it all), the set up is as follows:
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/workflow/glossary-of-terms.md
Expand Up @@ -43,7 +43,7 @@ Expo Developer Tools is a web browser based UI included in [Expo CLI](#expo-cli)

### Expo SDK

The Expo SDK provides access to device/system functionality such as camera, push notification, contacts, file system, and more. Scroll to the SDK API reference in the documentation navigation to see a full list of APIs and to explore them. [Read more about the Expo SDK](/versions/latest/sdk/overview/). [Find it on Github](https://github.com/expo/expo-sdk).
The Expo SDK provides access to device/system functionality such as camera, push notification, contacts, file system, and more. Scroll to the SDK API reference in the documentation navigation to see a full list of APIs and to explore them. [Read more about the Expo SDK](/versions/latest/). [Find it on Github](https://github.com/expo/expo-sdk).

### ExpoKit

Expand Down
2 changes: 1 addition & 1 deletion packages/expo-notifications/README.md
Expand Up @@ -42,7 +42,7 @@ In order to be able to receive push notifications on the device:

### Configure for Android

In order to be able to receive push notifications on the device ensure that your project is set up for Firebase. For more information on how to do it, see [this guide](https://docs.expo.io/versions/latest/guides/native-firebase/#bare-workflow-setup).
In order to be able to receive push notifications on the device ensure that your project is set up for Firebase. For more information on how to do it, see [this guide](https://docs.expo.io/guides/setup-native-firebase/#bare-workflow-setup).

### Add your project's credentials to Expo server (optional)

Expand Down

0 comments on commit 92bad7c

Please sign in to comment.