SpacetimeDB
SpacetimeDB copied to clipboard
First pass at reorganizing the docs and making them nice
Description of Changes
This PR is the first in a series of PRs which are an effort the reorganize the docs and make it easier for people to get started using SpacetimeDB.
This PR:
- Renames all folders to be
kebab-case. This is becausedocIdsare set based on folder and file names, and there is no way to override that within a file (all you can change withid: my-idis the last component of the id. Because we want to be able to access docs in react components we need stable predictable ids.- This also necessitates setting up a few
_category_.jsonfiles so that the categories do not show up as kebab case in the sidebar.
- This also necessitates setting up a few
- Adds a few React components with images so it's clearer on how to get started
- Reorganizes the quickstarts to be at the top of the side bar and simplifies the server and client into a single document named for the language
- Sets up redirections so the old links to the old documents now point to the new documents
- Copies the entirety of
typography.cssfrom the website into this repo for the purpose of keeping them identical - Makes minor fixes and improvements to the contents of the docs
In a future PR, I intend to:
- Add a tutorial section to the docs which will include two tutorials: Blackholio and Chat
- Turn the chat quickstart documents into the Chat tutorial and consolidate it into a single file with different language switchers (if this is feasible)
- Create a new quickstart section, which has a quickstart guide for each platform that we support so far, namely:
- Vanilla TypeScript
- Vanilla JavaScript
- Vanilla Rust
- Vanilla C#
- React
- Unity
- Unreal
- Update the quickstart guides to do the following (in the future I will add more platforms with this scheme):
- Use
spacetime dev --template <framework-template>to create a new project for the given framework - Insert data into the database
- Add a new
reducerto the template - Add a new
tableto the template - Add a new
viewto the template - Call the reducer from the client
- Subscribe to the
viewfrom the template
- Use
- Break up the current per language module reference files into files about SpacetimeDB concepts with a
TabGroupfor each language, namely:- Modules
- Tables
- Reducers
- Procedures
- Code generation
- DbConnection (and the SDK API)
- Auth
- etc. The idea being that we should explain our platform by concept, not by language. This will also allow us to reuse a lot of prose that is repeated in the different language documents.
API and ABI breaking changes
None
Expected complexity level and risk
1
Testing
- [x] Tested the documents locally to ensure that they render properly