Per some discussions on Reactiflux (w/@markerikson), thought it might be a good idea to start tracking some high-level ideas for organizing the docs.
_... and what can be learned from them..._
_Move stuff here if it seems actionable_
state and other APIs are introduced without broader context.Make home page examples into the first page of Getting Started, and remove code from below-the-fold section on homepage
This is probably more work than it sounds like. (I'm not saying it's not the right move, just wanted to point that out.) It would require us to write a new custom Remark plug-in that could generate the runnable code examples- in a way that's optimized to defer loading JS-heavy things like Babel on pages that didn't need them.
Hmm. Do we have analytics on how many people actually edit the live code samples on the front page? Maybe they don't need to be live. Pure speculation.
I think the gatsby-remark-code-repls we recently released could help a bit with this, since it would let us easy generate links to try things out in eg CodePe- but I still think the live, "see it in action and try it yourself" experience is important. And even though it adds weight (in terms of downloaded JS libs) to the home page, I also think it's nice to have as an experience that greets you right away.
I'd like to know what others think about this though.
tagging @gaearon , since he was just asking about ways to improve the docs organization.
Can you expand on your tweet? I'm not sure I'm catching what you mean by lack of ordering. I think the order is pretty clear: Quick Start, then Advanced Guides, then maybe API Reference if you need it.
Pasting in my tweet reply:
- React Concepts In Depth
- JSX In Depth
- Reconciliation
- Fragments
- Type-Checking with PropTypes
- Working with the DOM
- Uncontrolled Components
- Refs
- Forwarding Refs
- Portals
- Integration with Other Libraries
- Web Components
- Component Patterns
- Context
- Higher-Order Components
- Render Props
- Optimizing Applications
- Optimizing Performance
- Code Splitting
"Quick Start" should really be called something like "Introduction to Concepts". But preferably shorter. Ideas?
I like your grouping for the advanced section btw. But I don't think we currently go deeper than one top-level group. Would this need a sidebar redesign?
Assuming you wanted to keep the current sidebar groupings, then yes.
I like those groupings as well.
Can probably piggy back on the sidebar changes in #949 to add support for more nesting.
What do you think of moving 3. Rendering Elements in front of 2. Introducing JSX, or pulling JSX into an Advanced Guide? Reading through the tutorial from the beginning, it seems like rendering elements is the most natural entry point and syntax can be explained later.
I'm pretty hesitant. I don't think you can read the guide very well if you don't understand what { and } mean, or that those are not HTML strings.
I like your grouping for the advanced section btw. But I don't think we currently go deeper than one top-level group. Would this need a sidebar redesign?
The nav bar should be able to accommodate two-levels deep FWIW. We use that in the Tutorial page.
Most helpful comment
The nav bar should be able to accommodate two-levels deep FWIW. We use that in the Tutorial page.