diff --git a/docusaurus/docs/adding-a-css-modules-stylesheet.md b/docusaurus/docs/adding-a-css-modules-stylesheet.md index ef57da3c..4677ff00 100644 --- a/docusaurus/docs/adding-a-css-modules-stylesheet.md +++ b/docusaurus/docs/adding-a-css-modules-stylesheet.md @@ -7,7 +7,7 @@ title: Adding a CSS Modules Stylesheet This project supports [CSS Modules](https://github.com/css-modules/css-modules) alongside regular stylesheets using the `[name].module.css` file naming convention. CSS Modules allows the scoping of CSS by automatically creating a unique classname of the format `[filename]\_[classname]\_\_[hash]`. -> **Tip:** Should you want to preprocess a stylesheet with Sass then make sure to [follow the installation instructions](#adding-a-sass-stylesheet) and then change the stylesheet file extension as follows: `[name].module.scss` or `[name].module.sass`. +> **Tip:** Should you want to preprocess a stylesheet with Sass then make sure to [follow the installation instructions](/docs/adding-a-sass-stylesheet) and then change the stylesheet file extension as follows: `[name].module.scss` or `[name].module.sass`. CSS Modules let you use the same CSS class name in different files without worrying about naming clashes. Learn more about CSS Modules [here](https://css-tricks.com/css-modules-part-1-need/). diff --git a/docusaurus/docs/adding-a-router.md b/docusaurus/docs/adding-a-router.md index 18c60a2f..70dfcb63 100644 --- a/docusaurus/docs/adding-a-router.md +++ b/docusaurus/docs/adding-a-router.md @@ -19,4 +19,4 @@ yarn add react-router-dom To try it, delete all the code in `src/App.js` and replace it with any of the examples on its website. The [Basic Example](https://reacttraining.com/react-router/web/example/basic) is a good place to get started. -Note that [you may need to configure your production server to support client-side routing](#serving-apps-with-client-side-routing) before deploying your app. +Note that [you may need to configure your production server to support client-side routing](/docs/deployments#serving-apps-with-client-side-routing) before deploying your app. diff --git a/docusaurus/docs/adding-a-sass-stylesheet.md b/docusaurus/docs/adding-a-sass-stylesheet.md index b1294548..cd3e3d6c 100644 --- a/docusaurus/docs/adding-a-sass-stylesheet.md +++ b/docusaurus/docs/adding-a-sass-stylesheet.md @@ -29,6 +29,6 @@ This will allow you to do imports like @import '~nprogress/nprogress'; // importing a css file from the nprogress node module ``` -> **Tip:** You can opt into using this feature with [CSS modules](#adding-a-css-modules-stylesheet) too! +> **Tip:** You can opt into using this feature with [CSS modules](/docs/adding-a-css-modules-stylesheet) too! > **Note:** You must prefix imports from `node_modules` with `~` as displayed above. diff --git a/docusaurus/docs/adding-custom-environment-variables.md b/docusaurus/docs/adding-custom-environment-variables.md index e01e40ed..90dc1836 100644 --- a/docusaurus/docs/adding-custom-environment-variables.md +++ b/docusaurus/docs/adding-custom-environment-variables.md @@ -8,7 +8,7 @@ Your project can consume variables declared in your environment as if they were default you will have `NODE_ENV` defined for you, and any other environment variables starting with `REACT_APP_`. -**The environment variables are embedded during the build time**. Since Create React App produces a static HTML/CSS/JS bundle, it can’t possibly read them at runtime. To read them at runtime, you would need to load HTML into memory on the server and replace placeholders in runtime, just like [described here](#injecting-data-from-the-server-into-the-page). Alternatively you can rebuild the app on the server anytime you change them. +**The environment variables are embedded during the build time**. Since Create React App produces a static HTML/CSS/JS bundle, it can’t possibly read them at runtime. To read them at runtime, you would need to load HTML into memory on the server and replace placeholders in runtime, just like [described here](/docs/injecting-data-from-the-server-into-the-page). Alternatively you can rebuild the app on the server anytime you change them. > Note: You must create custom environment variables beginning with `REACT_APP_`. Any other variables except `NODE_ENV` will be ignored to avoid accidentally [exposing a private key on the machine that could have the same name](https://github.com/facebook/create-react-app/issues/865#issuecomment-252199527). Changing any environment variables will require you to restart the development server if it is running. @@ -76,7 +76,7 @@ You can also access the environment variables starting with `REACT_APP_` in the Note that the caveats from the above section apply: - Apart from a few built-in variables (`NODE_ENV` and `PUBLIC_URL`), variable names must start with `REACT_APP_` to work. -- The environment variables are injected at build time. If you need to inject them at runtime, [follow this approach instead](#generating-dynamic-meta-tags-on-the-server). +- The environment variables are injected at build time. If you need to inject them at runtime, [follow this approach instead](/docs/generating-dynamic-meta-tags-on-the-server). ### Adding Temporary Environment Variables In Your Shell diff --git a/docusaurus/docs/advanced-configuration.md b/docusaurus/docs/advanced-configuration.md index 6b711e97..fa01aa2b 100644 --- a/docusaurus/docs/advanced-configuration.md +++ b/docusaurus/docs/advanced-configuration.md @@ -3,7 +3,7 @@ id: advanced-configuration title: Advanced Configuration --- -You can adjust various development and production settings by setting environment variables in your shell or with [.env](#adding-development-environment-variables-in-env). +You can adjust various development and production settings by setting environment variables in your shell or with [.env](/docs/adding-development-environment-variables-in-env). | Variable | Development | Production | Usage | | :------------------ | :--------------------: | :----------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -11,7 +11,7 @@ You can adjust various development and production settings by setting environmen | HOST | :white_check_mark: | :x: | By default, the development web server binds to `localhost`. You may use this variable to specify a different host. | | PORT | :white_check_mark: | :x: | By default, the development web server will attempt to listen on port 3000 or prompt you to attempt the next available port. You may use this variable to specify a different port. | | HTTPS | :white_check_mark: | :x: | When set to `true`, Create React App will run the development server in `https` mode. | -| PUBLIC_URL | :x: | :white_check_mark: | Create React App assumes your application is hosted at the serving web server's root or a subpath as specified in [`package.json` (`homepage`)](#building-for-relative-paths). Normally, Create React App ignores the hostname. You may use this variable to force assets to be referenced verbatim to the url you provide (hostname included). This may be particularly useful when using a CDN to host your application. | +| PUBLIC_URL | :x: | :white_check_mark: | Create React App assumes your application is hosted at the serving web server's root or a subpath as specified in [`package.json` (`homepage`)](/docs/deployment#building-for-relative-paths). Normally, Create React App ignores the hostname. You may use this variable to force assets to be referenced verbatim to the url you provide (hostname included). This may be particularly useful when using a CDN to host your application. | | CI | :large_orange_diamond: | :white_check_mark: | When set to `true`, Create React App treats warnings as failures in the build. It also makes the test runner non-watching. Most CIs set this flag by default. | | REACT_EDITOR | :white_check_mark: | :x: | When an app crashes in development, you will see an error overlay with clickable stack trace. When you click on it, Create React App will try to determine the editor you are using based on currently running processes, and open the relevant source file. You can [send a pull request to detect your editor of choice](https://github.com/facebook/create-react-app/issues/2636). Setting this environment variable overrides the automatic detection. If you do it, make sure your systems [PATH]() environment variable points to your editor’s bin folder. You can also set it to `none` to disable it completely. | | CHOKIDAR_USEPOLLING | :white_check_mark: | :x: | When set to `true`, the watcher runs in polling mode, as necessary inside a VM. Use this option if `npm start` isn't detecting changes. | diff --git a/docusaurus/docs/alternatives-to-ejecting.md b/docusaurus/docs/alternatives-to-ejecting.md index b38f3366..1bbc066c 100644 --- a/docusaurus/docs/alternatives-to-ejecting.md +++ b/docusaurus/docs/alternatives-to-ejecting.md @@ -3,4 +3,4 @@ id: alternatives-to-ejecting title: Alternatives to Ejecting --- -[Ejecting](#npm-run-eject) lets you customize anything, but from that point on you have to maintain the configuration and scripts yourself. This can be daunting if you have many similar projects. In such cases instead of ejecting we recommend to _fork_ `react-scripts` and any other packages you need. [This article](https://auth0.com/blog/how-to-configure-create-react-app/) dives into how to do it in depth. You can find more discussion in [this issue](https://github.com/facebook/create-react-app/issues/682). +[Ejecting](/docs/available-scripts#npm-run-eject) lets you customize anything, but from that point on you have to maintain the configuration and scripts yourself. This can be daunting if you have many similar projects. In such cases instead of ejecting we recommend to _fork_ `react-scripts` and any other packages you need. [This article](https://auth0.com/blog/how-to-configure-create-react-app/) dives into how to do it in depth. You can find more discussion in [this issue](https://github.com/facebook/create-react-app/issues/682). diff --git a/docusaurus/docs/available-scripts.md b/docusaurus/docs/available-scripts.md index 6a496c39..b1162050 100644 --- a/docusaurus/docs/available-scripts.md +++ b/docusaurus/docs/available-scripts.md @@ -17,7 +17,7 @@ You will also see any lint errors in the console. ### `npm test` Launches the test runner in the interactive watch mode.
-See the section about [running tests](#running-tests) for more information. +See the section about [running tests](/docs/running-tests) for more information. ### `npm run build` @@ -27,7 +27,7 @@ It correctly bundles React in production mode and optimizes the build for the be The build is minified and the filenames include the hashes.
Your app is ready to be deployed! -See the section about [deployment](#deployment) for more information. +See the section about [deployment](/docs/deployment) for more information. ### `npm run eject` diff --git a/docusaurus/docs/changing-the-page-title.md b/docusaurus/docs/changing-the-page-title.md index 0b450ee5..3bbf7c35 100644 --- a/docusaurus/docs/changing-the-page-title.md +++ b/docusaurus/docs/changing-the-page-title.md @@ -5,8 +5,8 @@ title: Changing the You can find the source HTML file in the `public` folder of the generated project. You may edit the `<title>` tag in it to change the title from “React App” to anything else. -Note that normally you wouldn’t edit files in the `public` folder very often. For example, [adding a stylesheet](#adding-a-stylesheet) is done without touching the HTML. +Note that normally you wouldn’t edit files in the `public` folder very often. For example, [adding a stylesheet](/docs/adding-a-stylesheet) is done without touching the HTML. If you need to dynamically update the page title based on the content, you can use the browser [`document.title`](https://developer.mozilla.org/en-US/docs/Web/API/Document/title) API. For more complex scenarios when you want to change the title from React components, you can use [React Helmet](https://github.com/nfl/react-helmet), a third party library. -If you use a custom server for your app in production and want to modify the title before it gets sent to the browser, you can follow advice in [this section](#generating-dynamic-meta-tags-on-the-server). Alternatively, you can pre-build each page as a static HTML file which then loads the JavaScript bundle, which is covered [here](#pre-rendering-into-static-html-files). +If you use a custom server for your app in production and want to modify the title before it gets sent to the browser, you can follow advice in [this section](/docs/generating-dynamic-meta-tags-on-the-server). Alternatively, you can pre-build each page as a static HTML file which then loads the JavaScript bundle, which is covered [here](/docs/pre-rendering-into-static-html-files). diff --git a/docusaurus/docs/debugging-in-the-editor.md b/docusaurus/docs/debugging-in-the-editor.md index d83f54f0..75bcb815 100644 --- a/docusaurus/docs/debugging-in-the-editor.md +++ b/docusaurus/docs/debugging-in-the-editor.md @@ -31,7 +31,7 @@ Then add the block below to your `launch.json` file and put it inside the `.vsco } ``` -> Note: the URL may be different if you've made adjustments via the [HOST or PORT environment variables](#advanced-configuration). +> Note: the URL may be different if you've made adjustments via the [HOST or PORT environment variables](/docs/advanced-configuration). Start your app by running `npm start`, and start debugging in VS Code by pressing `F5` or by clicking the green debug icon. You can now write code, set breakpoints, make changes to the code, and debug your newly modified code—all from your editor. @@ -43,7 +43,7 @@ You would need to have [WebStorm](https://www.jetbrains.com/webstorm/) and [JetB In the WebStorm menu `Run` select `Edit Configurations...`. Then click `+` and select `JavaScript Debug`. Paste `http://localhost:3000` into the URL field and save the configuration. -> Note: the URL may be different if you've made adjustments via the [HOST or PORT environment variables](#advanced-configuration). +> Note: the URL may be different if you've made adjustments via the [HOST or PORT environment variables](/docs/advanced-configuration). Start your app by running `npm start`, then press `^D` on macOS or `F9` on Windows and Linux or click the green debug icon to start debugging in WebStorm. diff --git a/docusaurus/docs/deployment.md b/docusaurus/docs/deployment.md index 442243e7..97a5a1b7 100644 --- a/docusaurus/docs/deployment.md +++ b/docusaurus/docs/deployment.md @@ -79,11 +79,11 @@ If you’re using [Apache Tomcat](http://tomcat.apache.org/), you need to follow Now requests to `/todos/42` will be handled correctly both in development and in production. -On a production build, and when you've [opted-in](#why-opt-in), +On a production build, and when you've [opted-in](/docs/making-a-progressive-web-app#why-opt-in), a [service worker](https://developers.google.com/web/fundamentals/primers/service-workers/) will automatically handle all navigation requests, like for `/todos/42`, by serving the cached copy of your `index.html`. This service worker navigation routing can be configured or disabled by -[`eject`ing](#npm-run-eject) and then modifying the +[`eject`ing](/docs/available-scripts#npm-run-eject) and then modifying the [`navigateFallback`](https://github.com/GoogleChrome/sw-precache#navigatefallback-string) and [`navigateFallbackWhitelist`](https://github.com/GoogleChrome/sw-precache#navigatefallbackwhitelist-arrayregexp) options of the `SWPreachePlugin` [configuration](../config/webpack.config.prod.js). diff --git a/docusaurus/docs/making-a-progressive-web-app.md b/docusaurus/docs/making-a-progressive-web-app.md index d59f0923..d290ac08 100644 --- a/docusaurus/docs/making-a-progressive-web-app.md +++ b/docusaurus/docs/making-a-progressive-web-app.md @@ -57,7 +57,7 @@ following into account: in older web browsers. Service worker registration [won't be attempted](src/registerServiceWorker.js) on browsers that lack support. -1. The service worker is only enabled in the [production environment](#deployment), +1. The service worker is only enabled in the [production environment](/docs/deployment), e.g. the output of `npm run build`. It's recommended that you do not enable an offline-first service worker in a development environment, as it can lead to frustration when previously cached assets are used and do not include the latest @@ -66,7 +66,7 @@ following into account: 1. If you _need_ to test your offline-first service worker locally, build the application (using `npm run build`) and run a simple http server from your build directory. After running the build script, `create-react-app` will give - instructions for one way to test your production build locally and the [deployment instructions](#deployment) have + instructions for one way to test your production build locally and the [deployment instructions](/docs/deployment) have instructions for using other methods. _Be sure to always use an incognito window to avoid complications with your browser cache._ @@ -83,7 +83,7 @@ following into account: JavaScript console. 1. By default, the generated service worker file will not intercept or cache any - cross-origin traffic, like HTTP [API requests](#integrating-with-an-api-backend), + cross-origin traffic, like HTTP [API requests](/docs/integrating-with-an-api-backend), images, or embeds loaded from a different domain. ### Progressive Web App Metadata diff --git a/docusaurus/docs/proxying-api-requests-in-development.md b/docusaurus/docs/proxying-api-requests-in-development.md index 7fdbf5fd..fb1a53a6 100644 --- a/docusaurus/docs/proxying-api-requests-in-development.md +++ b/docusaurus/docs/proxying-api-requests-in-development.md @@ -38,7 +38,7 @@ If the `proxy` option is **not** flexible enough for you, alternatively you can: - [Configure the proxy yourself](#configuring-the-proxy-manually) - Enable CORS on your server ([here’s how to do it for Express](http://enable-cors.org/server_expressjs.html)). -- Use [environment variables](#adding-custom-environment-variables) to inject the right server host and port into your app. +- Use [environment variables](/docs/adding-custom-environment-variables) to inject the right server host and port into your app. ### "Invalid Host Header" Errors After Configuring Proxy diff --git a/docusaurus/docs/troubleshooting.md b/docusaurus/docs/troubleshooting.md index a4bdb78b..f0ea55a7 100644 --- a/docusaurus/docs/troubleshooting.md +++ b/docusaurus/docs/troubleshooting.md @@ -53,7 +53,7 @@ If you are completely sure that you didn't terminate the process, consider [addi ### `npm run build` fails on Heroku This may be a problem with case sensitive filenames. -Please refer to [this section](#resolving-heroku-deployment-errors). +Please refer to [this section](/docs/deployment#resolving-heroku-deployment-errors). ### Moment.js locales are missing diff --git a/docusaurus/docs/using-https-in-development.md b/docusaurus/docs/using-https-in-development.md index 2117106e..182b6a3e 100644 --- a/docusaurus/docs/using-https-in-development.md +++ b/docusaurus/docs/using-https-in-development.md @@ -5,7 +5,7 @@ title: Using HTTPS in Development > Note: this feature is available with `react-scripts@0.4.0` and higher. -You may require the dev server to serve pages over HTTPS. One particular case where this could be useful is when using [the "proxy" feature](#proxying-api-requests-in-development) to proxy requests to an API server when that API server is itself serving HTTPS. +You may require the dev server to serve pages over HTTPS. One particular case where this could be useful is when using [the "proxy" feature](/docs/proxying-api-requests-in-development) to proxy requests to an API server when that API server is itself serving HTTPS. To do this, set the `HTTPS` environment variable to `true`, then start the dev server as usual with `npm start`: diff --git a/docusaurus/docs/using-the-public-folder.md b/docusaurus/docs/using-the-public-folder.md index c368b5b6..cef6be37 100644 --- a/docusaurus/docs/using-the-public-folder.md +++ b/docusaurus/docs/using-the-public-folder.md @@ -7,7 +7,7 @@ title: Using the `public` Folder ### Changing the HTML -The `public` folder contains the HTML file so you can tweak it, for example, to [set the page title](#changing-the-page-title). +The `public` folder contains the HTML file so you can tweak it, for example, to [set the page title](/docs/changing-the-page-title). The `<script>` tag with the compiled code will be added to it automatically during the build process. ### Adding Assets Outside of the Module System @@ -15,7 +15,7 @@ The `<script>` tag with the compiled code will be added to it automatically duri You can also add other assets to the `public` folder. Note that we normally encourage you to `import` assets in JavaScript files instead. -For example, see the sections on [adding a stylesheet](#adding-a-stylesheet) and [adding images and fonts](#adding-images-fonts-and-files). +For example, see the sections on [adding a stylesheet](/docs/adding-a-stylesheet) and [adding images and fonts](/docs/adding-images-fonts-and-files). This mechanism provides a number of benefits: - Scripts and stylesheets get minified and bundled together to avoid extra network requests. @@ -55,7 +55,7 @@ Keep in mind the downsides of this approach: ### When to Use the `public` Folder -Normally we recommend importing [stylesheets](#adding-a-stylesheet), [images, and fonts](#adding-images-fonts-and-files) from JavaScript. +Normally we recommend importing [stylesheets](/docs/adding-a-stylesheet), [images, and fonts](/docs/adding-images-fonts-and-files) from JavaScript. The `public` folder is useful as a workaround for a number of less common cases: - You need a file with a specific name in the build output, such as [`manifest.webmanifest`](https://developer.mozilla.org/en-US/docs/Web/Manifest). diff --git a/docusaurus/website/i18n/en.json b/docusaurus/website/i18n/en.json index a28dea80..2e9f00ca 100644 --- a/docusaurus/website/i18n/en.json +++ b/docusaurus/website/i18n/en.json @@ -5,6 +5,39 @@ "previous": "Previous", "tagline": "Create React apps with no build configuration.", "docs": { + "adding-a-css-modules-stylesheet": { + "title": "Adding a CSS Modules Stylesheet" + }, + "adding-a-router": { + "title": "Adding a Router" + }, + "adding-a-sass-stylesheet": { + "title": "Adding a Sass Stylesheet" + }, + "adding-a-stylesheet": { + "title": "Adding a Stylesheet" + }, + "adding-bootstrap": { + "title": "Adding Bootstrap" + }, + "adding-custom-environment-variables": { + "title": "Adding Custom Environment Variables" + }, + "adding-flow": { + "title": "Adding Flow" + }, + "adding-images-fonts-and-files": { + "title": "Adding Images, Fonts, and Files" + }, + "adding-relay": { + "title": "Adding Relay" + }, + "advanced-configuration": { + "title": "Advanced Configuration" + }, + "alternatives-to-ejecting": { + "title": "Alternatives to Ejecting" + }, "analyzing-the-bundle-size": { "title": "Analyzing the Bundle Size", "sidebar_label": "Analyzing bundle size" @@ -13,6 +46,15 @@ "title": "Available Scripts", "sidebar_label": "Available scripts" }, + "can-i-use-decorators": { + "title": "Can I Use Decorators?" + }, + "changing-the-page-title": { + "title": "Changing the <title />" + }, + "code-splitting": { + "title": "Code Splitting" + }, "debugging-in-the-editor": { "title": "Debugging in the Editor" }, @@ -27,6 +69,13 @@ "developing-components-in-isolation": { "title": "Developing Components in Isolation" }, + "documentation-intro": { + "title": "Welcome to the Documentation", + "sidebar_label": "About the docs" + }, + "fetching-data-with-ajax-requests": { + "title": "Fetching Data with AJAX Requests" + }, "folder-structure": { "title": "Folder structure" }, @@ -34,14 +83,38 @@ "title": "Formatting Code Automatically", "sidebar_label": "Formatting code" }, + "generating-dynamic-meta-tags-on-the-server": { + "title": "Generating Dynamic `<meta>` Tags on the Server" + }, "getting-started": { "title": "Getting started", "sidebar_label": "Getting started" }, + "importing-a-component": { + "title": "Importing a Component" + }, + "injecting-data-from-the-server-into-the-page": { + "title": "Injecting Data from the Server into the Page" + }, + "installing-a-dependency": { + "title": "Installing a Dependency" + }, + "integrating-with-an-api-backend": { + "title": "Integrating with an API Backend" + }, "lint-output-in-the-editor": { "title": "Displaying Lint Output in the Editor", "sidebar_label": "In-editor linting" }, + "making-a-progressive-web-app": { + "title": "Making a Progressive Web App" + }, + "post-processing-css": { + "title": "Post-Processing CSS" + }, + "pre-rendering-into-static-html-files": { + "title": "Pre-Rendering into Static HTML Files" + }, "proxying-api-requests-in-development": { "title": "Proxying API Requests in Development", "sidebar_label": "Proxying in development" @@ -68,6 +141,9 @@ "supported-browsers": { "title": "Supported Browsers" }, + "supported-language-features": { + "title": "Supported Language Features" + }, "syntax-highlighting-in-the-editor": { "title": "Syntax highlighting in the editor", "sidebar_label": "Syntax highlighting" @@ -79,9 +155,14 @@ "updating-to-new-releases": { "title": "Updating to New Releases" }, - "user-guide": { - "title": "User guide", - "sidebar_label": "User guide" + "using-global-variables": { + "title": "Using Global Variables" + }, + "using-https-in-development": { + "title": "Using HTTPS in Development" + }, + "using-the-public-folder": { + "title": "Using the `public` Folder" } }, "links": { @@ -90,8 +171,10 @@ "GitHub": "GitHub" }, "categories": { + "Welcome": "Welcome", "Getting Started": "Getting Started", "Development": "Development", + "How-to": "How-to", "Testing": "Testing", "Deployment": "Deployment", "Support": "Support"