Our documentation needs to serve a spectrum of users, ranging from those looking for a quick + easy way to get started with Tina, to those interested in wielding parts of the API on their own for highly custom use cases, or building integrations. For simplicity I'll refer to these as lower-investment and higher-investment groups, referring to how much time/energy they want to invest in understanding/implementing Tina.
Trying to serve this entire spectrum from the documentation is challenging and can lead to the docs being confusing/unhelpful.
Proposal
- Add a new top-level nav item to tinacms.org, titled "Guides"
- Remove the Tina+Gatsby and Tina+NextJS sections from /docs and repurpose them into Guides as appropriate
Docs
Docs should focus on the APIs and components of Tina, and cater primarily to developers in the medium- and higher-investment part of the spectrum. Naive examples to demonstrate functionality (like what's in the Plugin docs) would be preferred over examples that assume a specific setup.
We should consider a linear path through the documentation. Docs should attempt to present the most common/ubiquitous APIs and components first, leaving more esoteric or uncommonly-needed features for later. This organization should not come at the expense of cohesiveness, however.
Guides
Guides aim to serve the lower- to medium-investment developers, but will likely be useful to everyone.
The attitude of a Guide will be somewhere between documentation and a blog post. Guides should start with an overview of what will be achieved, and may be broken up into multiple logical steps, each in its own markdown file.
| guides
\
|--nextjs-github-public-repo
\
|--overview.md
|--1-add-github-api.md
|--2-bootstrap-api-routes.md
We should encourage guides to be as small in scope as seems appropriate, and have guides reference each other. For example, a guide on using the GitHub packages with NextJS should assume you have already bootstrapped Tina into your NextJS site (adding TinaProvider
to _app.js
,) and should link to a guide on how to do that rather than explaining it all over again.
Discoverability
Guides should be:
- searchable via algolia
- discoverable via tags
Guide Layout
something like this