Summary:
The current website defaults to using JavaScript for any code block, regardless of language tag. This PR adds syntax highlighting support by passing the necessary language prop and by adding any missing languages to Marked.js.
Depends on #14212, #14065
Closes https://github.com/facebook/react-native/pull/14215
Differential Revision: D5149897
Pulled By: hramos
fbshipit-source-id: 95a817af2168d5743c75dd1ac030d399a68fb93c
Summary:
Restored the version lag caveat in the Getting Started, and updated the Upgrading guide to account for CRNA.
Additionally, updated the release versions page to account for the new release cycle (e.g. release candidates are encouraged).
Closes https://github.com/facebook/react-native/pull/14112
Differential Revision: D5112224
Pulled By: hramos
fbshipit-source-id: d544c5178484c27f1ed6dee3479bcd94e5e81982
Summary:
There are two ways to get started with React Native: using CRNA, or by building native code. The latter requires a set of dependencies that also need to be installed even by people who use CRNA if they have ejected.
There needs to be a clear demarcation between the two approaches as well as clear instructions as to which steps are of interest to CRNA using parties or people adding RN to an existing app.
Separating the two approaches entirely by using tabs can achieve this purpose.
Built and tested the website on Chrome on macOS. Have not yet tested other browsers or OS configurations.
![screencapture-localhost-8079-react-native-docs-getting-started-html-1494974542733](https://cloud.githubusercontent.com/assets/165856/26131374/77258b0c-3a4e-11e7-9a17-074610ca33d1.png)
![screencapture-localhost-8079-react-native-docs-getting-started-html-1494974580882](https://cloud.githubusercontent.com/assets/165856/26131370/73806990-3a4e-11e7-9e67-73c519b050da.png)
This is a work in progress. Feedback is appreciated. I am not yet happy with the different sets of tabs/buttons, for example.
Closes https://github.com/facebook/react-native/pull/14005
Differential Revision: D5096426
Pulled By: hramos
fbshipit-source-id: cdbf19b148ec87f2f2dfdced345084d0bbff4c26
Summary:
Clarified some steps unique to the Windows installer.
Closes https://github.com/facebook/react-native/pull/13983
Differential Revision: D5065884
Pulled By: hramos
fbshipit-source-id: ab47ad7e7fcf10f8b44ab209807d661c465b76a3
Summary:
My changes in https://github.com/facebook/react-native/pull/13707 assumed RN website works the same way as React website, but this assumption was wrong, so I added invalid markup.
This fixes it, and also moves the images into the website folder so we don't depend on random CDNs.
Closes https://github.com/facebook/react-native/pull/13844
Differential Revision: D5019956
Pulled By: gaearon
fbshipit-source-id: bec40d70997231a73d3ef67c82386bc1bb202d7b
Summary:
These examples used to be part of the UIExplorer app, which will be renamed to RNTester in #13606. These bits of code have not been treated as examples for a long time, and are actually part of our testing infra. Let's remove them altogether from the API/Components docs.
Closes https://github.com/facebook/react-native/pull/13664
Differential Revision: D4960725
Pulled By: hramos
fbshipit-source-id: a4ec19b81d992aff89c0c93e35a1b80fbbd5e454
Summary:
These examples work sporadically, and are all based on a years-old build of UIExplorer that was once uploaded to Appetize. As a result, newer APIs such as FlatList are not supported and attempting to run their associated examples will result in an error.
<img width="526" alt="screen shot 2017-04-24 at 12 21 31 pm" src="https://cloud.githubusercontent.com/assets/165856/25348155/57016f4a-28eb-11e7-92b0-a918ef1a0e5c.png">
This PR removes the prompts to run the examples.
See #13644 for exploration into using `<SnackPlayer>` for these.
Fixes#12300
Closes https://github.com/facebook/react-native/pull/13644
Differential Revision: D4939653
Pulled By: hramos
fbshipit-source-id: 11cf564d2ceb1981d3ce700aaae40dc873b183ad
Summary:
**Motivation**
Website generation is broken unless prop-types is added as a dependency.
**Test plan**
This fixes website generation in existing Circle CI tests.
Closes https://github.com/facebook/react-native/pull/13498
Differential Revision: D4888859
Pulled By: bvaughn
fbshipit-source-id: d43afbf3b56c189e723e5628e169947ed5dbacd8
Summary:
React Native Playground has been sunset, so I've replaced the examples that previously used it with examples using [Snack](http://snack.expo.io/).
The examples are directly embedded and can be edited live to see updates. The code itself is also in the docs, so we can easily update the docs in one place and we don't have to actually go to a saved app on Snack and update it there.
Run it locally, go to the `Animations` section and the `Direct Manipulation` section.
![screen shot 2017-04-03 at 6 29 51 pm](https://cloud.githubusercontent.com/assets/90494/24638271/ff3ad044-189b-11e7-845d-24b2fb612d95.png)
Open it on your phone, notice that it falls back to just showing plain code.
<img src="https://cloud.githubusercontent.com/assets/90494/24638547/203ec8fc-189e-11e7-99c8-dfabff949f8d.PNG" width="250">
- Get rid of the Expo new user experience dialog that you see when you open a Snack -- is this a dealbreaker
Closes https://github.com/facebook/react-native/pull/13285
Differential Revision: D4828011
Pulled By: hramos
fbshipit-source-id: 684ad24a14deb72abb8587ffbb726d316f126d75
Summary:
Adds UberEATS technical blog post, https://eng.uber.com/ubereats-react-native/, to the showcase.
This is not an ideal entry, as the app in question, the UberEATS Restaurant Dashboard, is not widely available in the app stores for people to download and try out. I still think it's worth adding this to the showcase as a good example of a large, known company leveraging React Native to build a new experience.
Test Plan
=======
Built website and verified everything rendered correctly in the Showcase.
Closes https://github.com/facebook/react-native/pull/13274
Differential Revision: D4823507
Pulled By: ericvicenti
fbshipit-source-id: 7929124dfc17254d1bc5970a20ba393a54e34409
Summary:
The Play Store started serving WebP files for these icons, which are not rendered well in Safari. Switched to JPEGs from the App Store.
Periodical pruning of the showcase: Removed several entries to keep the showcase fresh.
Closes https://github.com/facebook/react-native/pull/13098
Differential Revision: D4762944
Pulled By: hramos
fbshipit-source-id: 5f9c43fd186f20b432c54496b143b4a9dd5851e3
Summary:
MapView has been deprecated in open source for a while: http://facebook.github.io/react-native/docs/mapview.html
We still want to use it internally. Moving it away from the GitHub folder.
Reviewed By: mmmulani
Differential Revision: D4646199
fbshipit-source-id: f469971e448dbca12afe141b43fa8a2518c7d467
Summary:
Some of the operations, like `oneOf` and `arrayOf`, were doing joins on arrays of potential
tags, like `<span>` or `<a>`, which would stringify them to `[object Object]`.
This introduces a new `spanJoinMapper` which suppresses the trailing separator like `join` but wraps
elements in `<span>` rather than `concat`ing into a string.
Latest master is pretty broken:
{F66059444}
Nested `color` and some other props were broken even before https://github.com/facebook/react-native/commit/a7a3922b89d821b9a34d26bdcc7676e747a2716
{F66059446}
All fixed in this diff:
{F66059445}
Reviewed By: mkonicek
Differential Revision: D4670441
fbshipit-source-id: ddc10f13b3bdc6a1e799fa06a4e206f8dbd08769
Summary:
Enable back navigation on Apple TV (with the remote's menu button) in code making use of BackAndroid. The module is renamed to BackHandler. BackAndroid is still exported to ReactNative for now, until external projects switch to using the new name for the module. The navigation in https://github.com/react-community/react-navigation makes use of this module.
**Test plan**: Manual testing with an example app (https://github.com/dlowder-salesforce/react-nav-example).
Closes https://github.com/facebook/react-native/pull/12571
Differential Revision: D4665152
Pulled By: ericvicenti
fbshipit-source-id: 925400ce216379267e014457be6f5eedbe4453ec
Summary:
Updating the info about Myntra
We've also gotten our Android apps on React Native now. I also gave a talk on our journey and have updated the infoLink for the same.
I currently work for Myntra.
Closes https://github.com/facebook/react-native/pull/12736
Differential Revision: D4659904
Pulled By: hramos
fbshipit-source-id: c2a93d34e56979c05106d378695dbc5345bf9a2c
Summary:
Doing some cleanup here, mostly removing entries that lack an engineering blog post focused on React Native.
- Removes links to F8 2016 app. New entry coming soon!
- Add [Tesla](https://twitter.com/timdorr/status/830423561592532993)!
- Update some article titles, and link to newer content
Closes https://github.com/facebook/react-native/pull/12693
Differential Revision: D4654541
Pulled By: hramos
fbshipit-source-id: 3b22309ecc344fb5de2bcab36a64b69dd55c2f78
Summary:
Doing some cleanup in preparation for CRNA.
Recommend `FlatList` and React Navigation for perf.
Tag docs that may only apply to apps ejected from CRNA. Currently has no effect.
Closes https://github.com/facebook/react-native/pull/12692
Differential Revision: D4654077
Pulled By: hramos
fbshipit-source-id: 1245d80d66e37d9dca9e9daf23e8b93c65cd1bf7
Summary:
I am starting fresh on a new Mac and took another stab at the instructions.
- Java SDK 7 seems to work just fine.
- Adjusted Custom Android Studio installation instructions to use bare minimum required.
- Updated AVD configuration instructions with necessary changes to run AVD the first time.
- Added note on using real devices.
- Removed notes warning against use of API Level 23, these do not belong on a Getting Started guide.
- Added step to install Xcode Command Line Tools.
- Use `.profile` over `.bashrc` as the latter is shell-specific and is not loaded on login shells (e.g. new Terminal windows). `.profile` will work on bash, however, which is the default macOS shell.
- Added screenshots.
Went through steps for setting up RN for iOS as well as Android on a new Mac. Ended with apps running on the iOS Simulator and a AVD.
Generated website and verified instructions rendered correctly for each of the OS/device permutations.
Closes https://github.com/facebook/react-native/pull/12272
Differential Revision: D4637737
Pulled By: hramos
fbshipit-source-id: 5d322e4d55dbabc70f70471622a2f379ac6230cb
Summary:
The showcase is displayed in the homepage as well as in a standalone showcase page. The source data for these two pages is embedded in each page, resulting in repetition of data across both.
This PR splits out all of the showcase data to its own file, which is then loaded into the Metadata component during website generation.
`cd website && npm start`, then verified index and showcase loaded successfully
`cd website && node server/generate.js`, confirmed script runs successfully
Closes https://github.com/facebook/react-native/pull/12626
Differential Revision: D4632036
Pulled By: hramos
fbshipit-source-id: 2d1ad890e78e457205179e36c3ef04ffec354ad9
Summary:
This is #12292, but squashed into a single commit. This should help land the PR cleanly, as the commit history for #12292 was in a bad state: see how 1cbf79d456172c1d348a925d32a7f817df4aaf4b expects `"mkdirp": "^0.5.1"` in `package.json`, but the earlier 66920e4e4b04174d63834d6220c4da76453f27a2 had changed this to `"mkdirp": "*",`.
Verified the website built and run.
Confirmed docs, apis, components were generated.
Confirmed landing page, showcase, blog, docs, help page all load and look as expected.
Closes https://github.com/facebook/react-native/pull/12575
Differential Revision: D4617979
Pulled By: hramos
fbshipit-source-id: 86e2d0b36ccd25fc7f2e9f3b1351f97e7ba64d57