Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unversion Architecture docs #3000

Merged
merged 7 commits into from Mar 10, 2022

Conversation

slorber
Copy link
Contributor

@slorber slorber commented Mar 9, 2022

Move out the Architecture tabs docs/sidebar from the versioned docs, as discussed with @cortinico @kelset @Simek

I created a second Docusaurus docs plugin instance and moved the Architecture docs there + removed the versioned Architecture docs.

As far as I understand you eventually plan to add more unversioned docs, so I named this instance (and folders) docs_unversioned so that it is future proof, as it was mentioned some other docs (contributing, tests...) could also be unversioned later.

Also used routeBasePath: '/' so that all those docs can have a top-level url: using frontMatter slug: /architecture means the doc will be hosted at /architecture and not /docs_unversioned/architecture. It's up to you to decide if all unversioned docs must be hosted under a shared path segment prefix.

Obviously, the older versioned URLs are slightly different compared to before, so make sure to review this part if you want.
We can set up server-side redirects through Netlify's _redirect file if you feel it's necessary

Deploy preview: https://deploy-preview-3000--react-native.netlify.app/architecture/overview

@Simek
Copy link
Collaborator

Simek commented Mar 9, 2022

@slorber Can't we just move the files to the website root, and put them in the architecture directory, just like it has been done in Contributing PR? This will allow use to ditch docs_unversioned in path, which I'm not a big fan of, and simplifies the setup. See:

@netlify
Copy link

netlify bot commented Mar 9, 2022

✔️ Deploy Preview for react-native ready!

🔨 Explore the source changes: c2359c8

🔍 Inspect the deploy log: https://app.netlify.com/sites/react-native/deploys/622a04f121349200087ed039

😎 Browse the preview: https://deploy-preview-3000--react-native.netlify.app

@slorber
Copy link
Contributor Author

slorber commented Mar 9, 2022

@slorber Can't we just move the files to the website root, and put them in the architecture directory, just like it has been done in Contributing PR? This will allow use to ditch docs_unversioned in path, which I'm not a big fan of, and simplifies the setup. See:

Didn't know there was already such a PR

We can definitively do that.

It depends if you want to gather all unversioned docs into the same folder and under the same url prefix (can be /) or if you want to use multiple unversioned docs instances (more config/boilerplate, but more flexibility)

Note: Docusaurus currently doesn't support 2 plugin instances using both routeBasePath: '/' at the same time.

@Simek
Copy link
Collaborator

Simek commented Mar 9, 2022

Can we use the routeBasePath: 'architecure' and make the overview page avaible under architecure/overview instead? Generally I like the way in which this has been setup in the mentioned above PR, not sure what's the others opinion tho.

Also, we currently do not support accessing or redirect from the root path anyway - https://deploy-preview-3000--react-native.netlify.app/docs.

@slorber
Copy link
Contributor Author

slorber commented Mar 9, 2022

I updated the PR to match the choices already made on the other PR #2961

=> one docs plugin instance per unversioned type of content

Copy link
Contributor

@lunaleaps lunaleaps left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm! Will let you and @Simek coordinate how to merge

@Simek
Copy link
Collaborator

Simek commented Mar 10, 2022

I think that the last thing which left there is to define redirect for the moved pages, since the in all communication related to the New Arch before we have used the versioned links. It would be nice to keep them working, without the redirects the links will lead to 404.

website/static/_redirects Outdated Show resolved Hide resolved
Copy link
Contributor

@kelset kelset left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for all your work 👏👏👏

One thing I was wondering - could we maybe add to the readme.md (or the contributing.md) for this repo the instructions for how to add an unversioned section (/move something to unversioned)? I mean, I'm not expecting many more aside from this and the contributing one to be unversioned, but would be good to have some reference to look at.

By taking a quick look at this PR, it seems that there are a few things do to:

  • the .md files need to be in their own folder at root level of the website folder
  • docusaurus.config.js need a direct reference
  • the category needs to not be in the sidebars.json but in their own sidebars"nameOfCategory".json
  • might have to add some references in static/_redirects to ensure that old urls get pointed to the new places

anything else?

Copy link
Contributor

@cortinico cortinico left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's amazing, thanks for tackling this @slorber

I've quickly checked the setup and it looks good to me. I'd defer the full review to @Simek and @kelset which already pointed out the most important changes.

Co-authored-by: Bartosz Kaszubowski <gosimek@gmail.com>
@slorber
Copy link
Contributor Author

slorber commented Mar 10, 2022

👍 I'll let @Simek follow-up

Docusaurus has a dedicated doc page for docs plugin multi-instance, which is exactly what we are using here: https://docusaurus.io/docs/docs-multi-instance

But it's possible to be more specific to the RN website use case, or eventually improve our official doc if you feel something should be clarified

… into slorber/unversion-architecture

� Conflicts:
�	docs/render-pipeline.md
�	website/architecture/render-pipeline.md
@Simek
Copy link
Collaborator

Simek commented Mar 10, 2022

I have backported the changes to the New Arch pages which were causing the conflicts, I have also extracted the common docs options to the separate object which is then spread into all of the docs configs. After those changes and PR seems to be ready to merge.

I have also tested the redirects on the deploy preview and everything seems to be alright.

Big thanks for the @slorber for all the work he has done here, for the tips and guidance, also thanks to the others who posted the reviews and provided great feedback! ❤️

Let's ship it! 🚀

@Simek Simek merged commit 548330d into facebook:main Mar 10, 2022
@kelset
Copy link
Contributor

kelset commented Mar 10, 2022

@Simek just to be clear:

  • contributing section is still versioned
  • readme still doesn't have info about unversioning stuff

right? Did I miss something?

Not a big deal, we can handle with a follow up PR, just want to make sure we're not losing pieces down the road

@Simek
Copy link
Collaborator

Simek commented Mar 10, 2022

  • contributing section is still versioned

It should be unversioned, as it was when I was testing the PR last time:

  • readme still doesn't have info about unversioning stuff

Not a big deal, we can handle with a follow up PR, just want to make sure we're not losing pieces down the road

Nope, but we can expand few sentences here and there, as well as update the directories structure schema in Readme.

But generally I think that linking to the Docusaurus docs for the non-custom stuff is a good approach. Feel free to propose PR here and to the Docusaurus website (if needed). If you not interested in this, I will add updating the instructions to my TODOs and look at this soon.

@kelset
Copy link
Contributor

kelset commented Mar 10, 2022

sounds good, thanks for the clarifications Simek!

sunnylqm added a commit to reactnativecn/react-native-website that referenced this pull request Mar 26, 2022
* Generate 0.67 version of the docs (facebook#2926)

* version 0.67

* Revert "version 0.67"

This reverts commit f4896ac.

* updated v0.67 docs cut

* blogpost for 0.67 (facebook#2933)

* add Lorenzo

* Facebook -> Meta

* 067 blogpost

* add highlights and truncate

* tweak

* Update website/blog/2022-01-19-version-067.md

* Update website/blog/2022-01-19-version-067.md

Co-authored-by: Eli White <github@eli-white.com>

* Move Hermes 0.10 issue callout to acknowledgements

* Link the wiki

Co-authored-by: Luna <lunaleaps@gmail.com>
Co-authored-by: Eli White <github@eli-white.com>

* blogpost: React Native - H2 2021 Recap (facebook#2937)

Co-authored-by: Luna <luwe@fb.com>

* Fix typo in H2 blog post: next year / half -> numbers (facebook#2938)

* Use numbers for the time

* Bump nanoid from 3.1.30 to 3.2.0 (facebook#2939)

Bumps [nanoid](https://github.com/ai/nanoid) from 3.1.30 to 3.2.0.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](ai/nanoid@3.1.30...3.2.0)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* remove text in running on device (facebook#2943)

* remove text on docs running-on-device (facebook#2944)

* Fix small grammatical error (facebook#2942)

* update copyright on website (facebook#2940)

Co-authored-by: luism3861 <Eduardo_Medina@fragua.com.mx>

* Fix flexShrink default value in Layout Props docs (facebook#2945)

* update website font, misc UI tweaks (facebook#2947)

* Fix the guide to the deprecated OpenJDK installation command. (facebook#2817)

* Add function based components example for Flat list optimisation (facebook#2955)

* Update typo in render-pipeline.md (facebook#2951)

* Update typo in tutorial.md (facebook#2946)

* Add an extra command to the troubleshooting guide for typescript template (facebook#2954)

Co-authored-by: Nicola Corti <corti.nico@gmail.com>

* (Image) Fix documentation for onLoad event. (facebook#2964)

* - (Image) Fix documentation for onLoad event.

* - (Image) Prettier.

* Update image.md (facebook#2965)

* Bump follow-redirects from 1.14.7 to 1.14.8 (facebook#2966)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](follow-redirects/follow-redirects@v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fixed a typo in Linking page. (facebook#2968)

AndroidManifext.xml should be AndroidManifest.xml

* 📚 Guide: Getting Started with The New Architecture (a.k.a. the Playbook) (facebook#2879)

* Initial Draft of the New Architecture Playbook

* Fix c++ codeblocks not rendering correctly

* Fix Android.mk containing wrong wildcards

* Remove Markdown exports artifacts

* Fix missing parenthesis in section header

* Renamed section header as it was incomplete

* Removed canCreateTurboModule as it was not used

* Fix indententation and add imports to MyComponentsRegistry.java

* Add missing import for MyComponentsRegistry.h

* Fix the broken table

* s/two/three arguments

* Fix comments inside podfile

* split The New Architecture guide into few pages (facebook#2882)

* Fix wrong import for ./RNTMyNativeViewNativeComponent

* Fix import for codegenNativeCommands

* Add a banner for TypeScript support

* Do not sound prescriptive with 'you will be using flow'

* React concurrent mode -> React 18

* Add a banner on homepage about the number of manual steps

* Fix typo on Enabling TurboModule section title

Co-authored-by: Johny Urgiles <jurgiles@users.noreply.github.com>

* code formatting, admonitions and small tweaks (facebook#2922)

Co-authored-by: Nicola Corti <corti.nico@gmail.com>

* Use descriptive component names and fix use of ref (facebook#2935)

* Use descriptive component names and fix use of ref

* Remove ambiguity from migrating .measure* example

* Playbook => Guide

* Use implicit dependency substitution for the Gradle Plugin

* Specify reactRoot and codegenDir in the App setup

* Add a patch for configureNdkBuild not depending on preBuild

* Add the getTurboModule method

* Copy the warning banner on all the pages

* Update pod install to specify RCT_NEW_ARCH_ENABLED

* HermesExecutorFactory header lives inside reacthermes/ and not React/

* Fix broken jsExecutorFactoryForBridge iOS

* Bump used nightly version to 0.0.0-20220201-2008-79975d146

* Clarify the react-native-codegen version to use

* Suggest to use :app:externalNativeBuildDebug instead of Release

* Put LOCAL_SHARED_LIBRARIES on Android.mk on separate lines

* Update docs/new-architecture-app-renderer-ios.md

Co-authored-by: Bartosz Kaszubowski <gosimek@gmail.com>

* Remove unnecessary duplicated `pod install`

Co-authored-by: Bartosz Kaszubowski <gosimek@gmail.com>

* Setup a New Architecture Troubleshooting page

* Fix lint failures on troubleshooting section

Co-authored-by: Bartosz Kaszubowski <gosimek@gmail.com>
Co-authored-by: Johny Urgiles <jurgiles@users.noreply.github.com>
Co-authored-by: Samuel Susla <samuel.susla@gmail.com>

* fix(ios): update Fabric in Podfile instructions (facebook#2973)

* fix(ios): update Fabric in Podfile instructions

* move fabric_enabled comment closer to the property

* 📚 Add instruction for M1 users to work with Cocoapods (facebook#2974)

* Update Android SDK version to 30 (facebook#2975)

* Adding Explain Like I'm 5 video to the home page (facebook#2971)

* Adding ELI5 video to the home page

* Remove unused VideoContainer function

* Combining Video and Talk sections

Co-authored-by: Dmitry Vinnik <dvinnik@fb.com>

* Updated expired link in docs/security (facebook#2972)

* Updated link colors to meet WCAG color contrast guidelines. (facebook#2976)

* Bump prismjs from 1.25.0 to 1.27.0 (facebook#2978)

Bumps [prismjs](https://github.com/PrismJS/prism) from 1.25.0 to 1.27.0.
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](PrismJS/prism@v1.25.0...v1.27.0)

---
updated-dependencies:
- dependency-name: prismjs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: spelling error mudule -> module (facebook#2979)

* Update migration guide feedback link to the working group (facebook#2983)

* Add TOC sections for the 'Render, Commit, and Mount' page (facebook#2985)

* Adding Social Banner in Support of Ukraine  (facebook#2986)

* fix layout resizing when page includes wide code block (facebook#2980)

* docs: Moving to use Announcement Banner for the Support Ukraine Initiative (facebook#2988)

* Fix deeplink to react-host-components-or-host-components in Glossary (facebook#2992)

* Clarify intended audience for architecture overview (facebook#2995)

* changed android_hyphenation for 0.67+ (facebook#2982)

* Add missing `normal` enum for Hyphenation (facebook#3002)

* add ToC headers for phases on Render Pipeline page (facebook#2997)

* Moving Release Wiki to react-native-website (facebook#2961)

Co-authored-by: Simek <gosimek@gmail.com>

* Update discrete update threading model diagram (facebook#2999)

* move Fabric warning to partial, use admonition (facebook#2998)

* Clarify the Configure Codegen in your Gradle File section (facebook#2993)

Co-authored-by: Bartosz Kaszubowski <gosimek@gmail.com>

* Unversion Architecture docs (facebook#3000)

Co-authored-by: Bartosz Kaszubowski <gosimek@gmail.com>

* refactor(getting-started): path to sdk binaries (facebook#2991)

* bump lint stack, include `website` files in check (facebook#3004)

* Add table of contents and encourage people to leave feedback in working group in Architecture Overview intro (facebook#2996)

* Clarify intended audience for architecture overview
* Fix broken links

* Blogpost: An update on the New Architecture Rollout (facebook#3009)

Co-authored-by: Bartosz Kaszubowski <gosimek@gmail.com>
Co-authored-by: Lorenzo Sciandra <notkelset@kelset.dev>

* Use bundler to pod install (facebook#3011)

* Use placeholders instead of hardcoded strings (facebook#3015)

* Use @flow annotation and fix syntax (facebook#3016)

* Improve documentation about JS Specs (facebook#3017)

* Use more specific dependency React-Core (facebook#3020)

* distinguish windows from mac keytool instructions (facebook#3019)

Co-authored-by: Bartosz Kaszubowski <gosimek@gmail.com>

* spelling fix (facebook#3021)

* Rename _bridge into bridge (facebook#3013)

* Use empty dicts instead of nil (facebook#3014)

* 📚 Rename JSCExecutorFactory into HermesExecutorFactory (facebook#3012)

* fix codegenNativeCommands section example (facebook#3024)

Co-authored-by: Piotr Trocki <piotr@trocki.com>

* [sync-api] Replace deprecated String.prototype.substr() (facebook#3025)

* Add kotlin sample code in "Integration with an Android Fragment" documentation (facebook#2977)

Co-authored-by: Andrei Shikov <andreiishikov@gmail.com>
Co-authored-by: Nicola Corti <corti.nico@gmail.com>
Co-authored-by: Simek <gosimek@gmail.com>

* small custom CSS fixes and tweaks (facebook#3026)

* Update references from Java to Java/Kotlin in the body of the article (facebook#3028)

Co-authored-by: Bartosz Kaszubowski <gosimek@gmail.com>

* update project structure in Readme (facebook#3031)

Co-authored-by: Lorenzo Sciandra <notkelset@kelset.dev>
Co-authored-by: Luna <lunaleaps@gmail.com>
Co-authored-by: Eli White <github@eli-white.com>
Co-authored-by: Nicola Corti <ncor@fb.com>
Co-authored-by: Luna <luwe@fb.com>
Co-authored-by: Sota <5866096+sota000@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Luis Medina Huerta <luism3861@gmail.com>
Co-authored-by: Palash Shrivastava <35087196+BattleOfPlassey@users.noreply.github.com>
Co-authored-by: Michael Evans <michaelrevans@live.co.uk>
Co-authored-by: luism3861 <Eduardo_Medina@fragua.com.mx>
Co-authored-by: jzxchiang1 <15524484+jzxchiang1@users.noreply.github.com>
Co-authored-by: Bartosz Kaszubowski <gosimek@gmail.com>
Co-authored-by: 1natsu <1natsu172@users.noreply.github.com>
Co-authored-by: DIBYAJYOTI MISHRA <dibyajyotimishra14@gmail.com>
Co-authored-by: Jiovanna Manriquez <jiovannamanriquez@gmail.com>
Co-authored-by: markbell2410 <24226636+markbell2410@users.noreply.github.com>
Co-authored-by: Nicola Corti <corti.nico@gmail.com>
Co-authored-by: Erick Maeda Lopes <erick.maeda26@gmail.com>
Co-authored-by: Kavanaugh Latiolais <kav@pelo.tech>
Co-authored-by: hj <jiehecd@gmail.com>
Co-authored-by: Johny Urgiles <jurgiles@users.noreply.github.com>
Co-authored-by: Samuel Susla <samuel.susla@gmail.com>
Co-authored-by: Tommy Nguyen <4123478+tido64@users.noreply.github.com>
Co-authored-by: Riccardo <riccardo.cipolleschi@gmail.com>
Co-authored-by: Kid <44045911+kidonng@users.noreply.github.com>
Co-authored-by: Dmitry Vinnik <dmitryvinn@users.noreply.github.com>
Co-authored-by: Dmitry Vinnik <dvinnik@fb.com>
Co-authored-by: Vishwa Gaurav <81325730+VishwaGauravIn@users.noreply.github.com>
Co-authored-by: blavalla <blavalla@gmail.com>
Co-authored-by: RayKay91 <61206305+RayKay91@users.noreply.github.com>
Co-authored-by: zegermouw <zegermouw@gmail.com>
Co-authored-by: Nicolas <nicolashortaadam@gmail.com>
Co-authored-by: Sébastien Lorber <slorber@users.noreply.github.com>
Co-authored-by: Henry Hobhouse <henryhobhouse@gmail.com>
Co-authored-by: Samuel Susla <samuelsusla@fb.com>
Co-authored-by: Danilo Bürger <info@danilobuerger.de>
Co-authored-by: Riccardo <cipolleschi@fb.com>
Co-authored-by: Fernando Cervera <86963649+fernandocervera-abi@users.noreply.github.com>
Co-authored-by: Rajesh Sharma <broncha@rajesharma.com>
Co-authored-by: troZee <12766071+troZee@users.noreply.github.com>
Co-authored-by: Piotr Trocki <piotr@trocki.com>
Co-authored-by: CommanderRoot <CommanderRoot@users.noreply.github.com>
Co-authored-by: David Vacca <515103+mdvacca@users.noreply.github.com>
Co-authored-by: Andrei Shikov <andreiishikov@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants