Skip to content

Commit

Permalink
[docs] Fix broken directory links
Browse files Browse the repository at this point in the history
When Python's SimpleHTTPServer receives a request that matches a directory with no index.html file, it gives a succesful response with an html list of the directory's other contents.  This does not match production behavior and was hiding several problems.
  • Loading branch information
nicknovitski committed Mar 29, 2019
1 parent 8e8366a commit c08265a
Show file tree
Hide file tree
Showing 21 changed files with 145 additions and 28 deletions.
2 changes: 1 addition & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -479,7 +479,7 @@ jobs:
working_directory: docs
- run:
working_directory: docs
command: nix run expo.python --command yarn run export-server
command: yarn run export-server
background: true
- run:
working_directory: docs
Expand Down
3 changes: 2 additions & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"dev": "node server.js",
"build": "cross-env NODE_OPTIONS=--max-old-space-size=8192 next build",
"export": "yarn run build && next export",
"export-server": "cd out && python -m SimpleHTTPServer 8000",
"export-server": "http-server out -p 8000",
"import-react-native-docs": "node ./scripts/import-react-native-docs.js",
"test-links": "blc --recursive --exclude-external --filter-level 2"
},
Expand All @@ -33,6 +33,7 @@
},
"devDependencies": {
"broken-link-checker": "^0.7.8",
"http-server": "^0.11.1",
"minimist": "^1.2.0",
"prettier": "^1.15.3"
}
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/versions/unversioned/expokit/eject.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,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](../../sdk/), 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](../../sdk/overview/), 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
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Take the Open Sans zipfile that you downloaded, extract it and copy `OpenSans-Bo

## Loading the font in your app

To load and use fonts we will use the [Expo SDK](../../sdk/), which comes pre-installed when you create a new Expo project, but if for some reason you don't have it, you can install with `npm install --save expo` in your project directory. Add the following `import` in your application code:
To load and use fonts we will use the [Expo SDK](../../sdk/overview/), which comes pre-installed when you create a new Expo project, but if for some reason you don't have it, you can install with `npm install --save expo` in your project directory. Add the following `import` in your application code:

```javascript
import { Font } from 'expo';
Expand Down
4 changes: 2 additions & 2 deletions docs/pages/versions/unversioned/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ title: Getting to know Expo

This is the documentation for [Expo](http://expo.io). Expo is a set of tools, libraries and services you can use to build native iOS and Android apps faster than ever before.

There are two ways to build a project with Expo, we call these workflows: you can use the "managed" workflow or the "bare" workflow. With the "managed" workflow, you only write JavaScript and lean on the [Expo SDK](sdk/) to give you access to your device capabilities and the Expo services to handle the heavy lifting of building your app binary and uploading it to the store, all without you touching Xcode or Android Studio. With the "bare" workflow, we also speed up your development with the [Expo SDK](sdk/) and React Native, and you have full control over your iOS and Android projects.
There are two ways to build a project with Expo, we call these workflows: you can use the "managed" workflow or the "bare" workflow. With the "managed" workflow, you only write JavaScript and lean on the [Expo SDK](sdk/overview/) to give you access to your device capabilities and the Expo services to handle the heavy lifting of building your app binary and uploading it to the store, all without you touching Xcode or Android Studio. With the "bare" workflow, we also speed up your development with the [Expo SDK](sdk/overview/) and React Native, and you have full control over your iOS and Android projects.

## More about the Expo SDK

Expand All @@ -25,4 +25,4 @@ Expo also provides UI components to handle a variety of use-cases that almost al
- Make your first project by following the [Up and Running](workflow/up-and-running/) guide.
- If you're not already familiar with React and React Native, you can bootstrap your knowledge with [React Native Express](http://www.reactnativeexpress.com/).
- For hands-on React Native projects from beginner to advanced, check out [Fullstack React Native](https://www.fullstackreact.com/react-native/), a (paid) book by the author of React Native Express.
- Join our [Community](introduction/community/) and let us know what you're working on!
- Join our [Community](introduction/community/) and let us know what you're working on!
4 changes: 2 additions & 2 deletions docs/pages/versions/unversioned/introduction/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,9 @@ TL;DR you can do it, but most people never need to.

Standard Expo projects don't support custom native code, including third-party libraries which require custom native components. In an Expo project, you only write pure JS. Expo is designed this way on purpose and we think it's better this way.

In [our SDK](../../sdk/), we give you a large set of commonly desired, high-quality native modules. We recommend doing as much in JS 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. Especially in the case of UI components, there is pretty much always a better option written in JS.
In [our SDK](../../sdk/overview/), we give you a large set of commonly desired, high-quality native modules. We recommend doing as much in JS 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. Especially in the case of UI components, there is pretty much always a better option written in JS.

However, if you need something very custom--like on-the-fly video processing or low level control over the Bluetooth radio to do a firmware update--we do have early/alpha support for [using Expo in native Xcode and Android Studio projects](../../expokit/).
However, if you need something very custom--like on-the-fly video processing or low level control over the Bluetooth radio to do a firmware update--we do have early/alpha support for [using Expo in native Xcode and Android Studio projects](../../expokit/overview/).

## Is Expo similar to React for web development?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ On iOS, you'll need to use Apple TestFlight to share your app with others.

You can continue making changes locally without disrupting your users. Any time you **Publish** changes to your app, your new version becomes available immediately to anybody with the link.

We frequently release updates to the [Expo SDK](../../sdk/). Each update includes instructions for how to upgrade your project. If you decide to update 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](../../sdk/overview/). Each update includes instructions for how to upgrade your project. If you decide to update 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.

## Deploying to the Apple App Store and Google Play

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/versions/unversioned/sdk/document-picker.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Otherwise, returns `{ type: 'success', uri, name, size }` where `uri` is a URI t

## iOS configuration

On iOS, for [standalone apps](../../distribution/building-standalone-apps/) and [ExpoKit](../../expokit/) projects, the DocumentPicker module requires the iCloud entitlement to work properly. You need to set the `usesIcloudStorage` key to `true` in your `app.json` file as specified [here](../../workflow/configuration/#ios).
On iOS, for [standalone apps](../../distribution/building-standalone-apps/) and [ExpoKit](../../expokit/overview/) projects, the DocumentPicker module requires the iCloud entitlement to work properly. You need to set the `usesIcloudStorage` key to `true` in your `app.json` file as specified [here](../../workflow/configuration/#ios).

### iCloud Application Service

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/versions/unversioned/sdk/map-view.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Apple Maps should just work with no extra configuration. For Google Maps, you ca

### Deploying Google Maps to ExpoKit for iOS

If you want to add MapView with Google Maps to an [ExpoKit](../../expokit) (ejected) project on iOS, you may need to manually provide a key by calling:
If you want to add MapView with Google Maps to an [ExpoKit](../../expokit/overview/) (ejected) project on iOS, you may need to manually provide a key by calling:

```
[GMSServices provideApiKey:@"your api key"]
Expand Down
Original file line number Diff line number Diff line change
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](../../sdk/). [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](../../sdk/overview/). [Find it on Github](https://github.com/expo/expo-sdk).

### ExpoKit

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/versions/unversioned/workflow/up-and-running.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,6 @@ You have created a new Expo project, made a change, and seen it update.
### Next Steps

- The [Additional Resources](../../introduction/additional-resources/#additional-resources) has a bunch of useful resources for learning.
- Read about the [Expo SDK](../../sdk/) to learn about some useful APIs we provide out of the box.
- Read about the [Expo SDK](../../sdk/overview/) to learn about some useful APIs we provide out of the box.
- Read some of our other guides, such as how to implement [Push Notifications](../../guides/push-notifications/#push-notifications), how we can take care of [Assets](../../guides/assets/#all-about-assets) for you, or how to build [Standalone Apps](../../distribution/building-standalone-apps/#building-standalone-apps) you can submit to Apple or Google.
- Join us on Slack to get your questions answered.
2 changes: 1 addition & 1 deletion docs/pages/versions/v32.0.0/expokit/eject.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,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](../../sdk/), 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](../../sdk/overview/), 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
2 changes: 1 addition & 1 deletion docs/pages/versions/v32.0.0/guides/using-custom-fonts.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Take the Open Sans zipfile that you downloaded, extract it and copy `OpenSans-Bo

## Loading the font in your app

To load and use fonts we will use the [Expo SDK](../../sdk/), which comes pre-installed when you create a new Expo project, but if for some reason you don't have it, you can install with `npm install --save expo` in your project directory. Add the following `import` in your application code:
To load and use fonts we will use the [Expo SDK](../../sdk/overview/), which comes pre-installed when you create a new Expo project, but if for some reason you don't have it, you can install with `npm install --save expo` in your project directory. Add the following `import` in your application code:

```javascript
import { Font } from 'expo';
Expand Down
4 changes: 2 additions & 2 deletions docs/pages/versions/v32.0.0/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ title: Getting to know Expo

This is the documentation for [Expo](http://expo.io). Expo is a set of tools, libraries and services you can use to build native iOS and Android apps faster than ever before.

There are two ways to build a project with Expo, we call these workflows: you can use the "managed" workflow or the "bare" workflow. With the "managed" workflow, you only write JavaScript and lean on the [Expo SDK](sdk/) to give you access to your device capabilities and the Expo services to handle the heavy lifting of building your app binary and uploading it to the store, all without you touching Xcode or Android Studio. With the "bare" workflow, we also speed up your development with the [Expo SDK](sdk/) and React Native, and you have full control over your iOS and Android projects.
There are two ways to build a project with Expo, we call these workflows: you can use the "managed" workflow or the "bare" workflow. With the "managed" workflow, you only write JavaScript and lean on the [Expo SDK](sdk/overview/) to give you access to your device capabilities and the Expo services to handle the heavy lifting of building your app binary and uploading it to the store, all without you touching Xcode or Android Studio. With the "bare" workflow, we also speed up your development with the [Expo SDK](sdk/overview/) and React Native, and you have full control over your iOS and Android projects.

## More about the Expo SDK

Expand All @@ -25,4 +25,4 @@ Expo also provides UI components to handle a variety of use-cases that almost al
- Make your first project by following the [Up and Running](workflow/up-and-running/) guide.
- If you're not already familiar with React and React Native, you can bootstrap your knowledge with [React Native Express](http://www.reactnativeexpress.com/).
- For hands-on React Native projects from beginner to advanced, check out [Fullstack React Native](https://www.fullstackreact.com/react-native/), a (paid) book by the author of React Native Express.
- Join our [Community](introduction/community/) and let us know what you're working on!
- Join our [Community](introduction/community/) and let us know what you're working on!
4 changes: 2 additions & 2 deletions docs/pages/versions/v32.0.0/introduction/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,9 @@ TL;DR you can do it, but most people never need to.

Standard Expo projects don't support custom native code, including third-party libraries which require custom native components. In an Expo project, you only write pure JS. Expo is designed this way on purpose and we think it's better this way.

In [our SDK](../../sdk/), we give you a large set of commonly desired, high-quality native modules. We recommend doing as much in JS 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. Especially in the case of UI components, there is pretty much always a better option written in JS.
In [our SDK](../../sdk/overview/), we give you a large set of commonly desired, high-quality native modules. We recommend doing as much in JS 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. Especially in the case of UI components, there is pretty much always a better option written in JS.

However, if you need something very custom--like on-the-fly video processing or low level control over the Bluetooth radio to do a firmware update--we do have early/alpha support for [using Expo in native Xcode and Android Studio projects](../../expokit/).
However, if you need something very custom--like on-the-fly video processing or low level control over the Bluetooth radio to do a firmware update--we do have early/alpha support for [using Expo in native Xcode and Android Studio projects](../../expokit/overview/).

## Is Expo similar to React for web development?

Expand Down
4 changes: 2 additions & 2 deletions docs/pages/versions/v32.0.0/introduction/project-lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ On iOS, you'll need to use Apple TestFlight to share your app with others.

You can continue making changes locally without disrupting your users. Any time you **Publish** changes to your app, your new version becomes available immediately to anybody with the link.

We frequently release updates to the [Expo SDK](../../sdk/). Each update includes instructions for how to upgrade your project. If you decide to update 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](../../sdk/overview/). Each update includes instructions for how to upgrade your project. If you decide to update 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.

## Deploying to the Apple App Store and Google Play

When you're ready to list your app officially on the Apple App Store and Google Play Store, Expo can generate deployment-ready `.ipa` and `.apk` archives which are ready to submit to Apple and Google. We generate them on our servers, so you still don't need any Apple or Google software. See the documentation about [Distributing Apps](../../distribution/app-stores/).
When you're ready to list your app officially on the Apple App Store and Google Play Store, Expo can generate deployment-ready `.ipa` and `.apk` archives which are ready to submit to Apple and Google. We generate them on our servers, so you still don't need any Apple or Google software. See the documentation about [Distributing Apps](../../distribution/introduction/).

## Changing native code

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/versions/v32.0.0/sdk/document-picker.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Otherwise, returns `{ type: 'success', uri, name, size }` where `uri` is a URI t

## iOS configuration

On iOS, for [standalone apps](../../distribution/building-standalone-apps/) and [ExpoKit](../../expokit/) projects, the DocumentPicker module requires the iCloud entitlement to work properly. You need to set the `usesIcloudStorage` key to `true` in your `app.json` file as specified [here](../../workflow/configuration/#ios).
On iOS, for [standalone apps](../../distribution/building-standalone-apps/) and [ExpoKit](../../expokit/overview/) projects, the DocumentPicker module requires the iCloud entitlement to work properly. You need to set the `usesIcloudStorage` key to `true` in your `app.json` file as specified [here](../../workflow/configuration/#ios).

### iCloud Application Service

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/versions/v32.0.0/sdk/map-view.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Apple Maps should just work with no extra configuration. For Google Maps, you ca

### Deploying Google Maps to ExpoKit for iOS

If you want to add MapView with Google Maps to an [ExpoKit](../../expokit) (ejected) project on iOS, you may need to manually provide a key by calling:
If you want to add MapView with Google Maps to an [ExpoKit](../../expokit/overview/) (ejected) project on iOS, you may need to manually provide a key by calling:

```
[GMSServices provideApiKey:@"your api key"]
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/versions/v32.0.0/workflow/glossary-of-terms.md
Original file line number Diff line number Diff line change
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](../../sdk/). [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](../../sdk/overview/). [Find it on Github](https://github.com/expo/expo-sdk).

### ExpoKit

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/versions/v32.0.0/workflow/up-and-running.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,6 @@ You have created a new Expo project, made a change, and seen it update.
### Next Steps

- The [Additional Resources](../../introduction/additional-resources/#additional-resources) has a bunch of useful resources for learning.
- Read about the [Expo SDK](../../sdk/) to learn about some useful APIs we provide out of the box.
- Read about the [Expo SDK](../../sdk/overview/) to learn about some useful APIs we provide out of the box.
- Read some of our other guides, such as how to implement [Push Notifications](../../guides/push-notifications/#push-notifications), how we can take care of [Assets](../../guides/assets/#all-about-assets) for you, or how to build [Standalone Apps](../../distribution/building-standalone-apps/#building-standalone-apps) you can submit to Apple or Google.
- Join us on Slack to get your questions answered.
Loading

0 comments on commit c08265a

Please sign in to comment.