ceramicnetwork / docs-docusaurus

Apache License 2.0
16 stars 7 forks source link

WIP: Restructure protocol docs for rust-ceramic #95

Closed yusefnapora closed 3 months ago

yusefnapora commented 3 months ago

Hey there, this is a start at restructuring the protocol docs to split out the implementation-agnostic parts from the things that are specific to js-ceramic.

It's full of placeholders and TODOs, so it's not ready to really review, but if anyone wants to weigh in on the overall structure before I go any further down this path, that would be cool.

I'm mostly just getting familiar with the docs codebase and trying to make a mental map of the things that are tightly coupled to js-ceramic, so this PR is mostly for my own sake as I dig in. If everyone is on board with this direction, I can keep working along these lines and clean it up for a proper review.

So far the changes are:

I also moved the guides section under /core, with the idea that we'd have sub-sections for JS and Rust, although I'm second guessing myself about this. Maybe it's better to have a separate "guides" section for each implementation. I went this way because (I think) that the Ceramic Clients section would apply regardless of the type of node you're targeting, and we really only need to "branch" between implementations in the Ceramic Nodes section.

Changes at a glance:

current structure:

protocol
└── js-ceramic
    ├── accounts
    ├── guides
    │   ├── ceramic-clients
    │   │   ├── authentication
    │   │   ├── javascript-clients
    │   │   └── stream-api
    │   └── ceramic-nodes
    ├── networking
    ├── nodes
    └── streams

in this PR:

protocol
├── core
│   ├── accounts
│   ├── guides
│   │   ├── ceramic-clients
│   │   │   ├── authentication
│   │   │   ├── javascript-clients
│   │   │   └── stream-api
│   │   └── ceramic-nodes
│   │       └── js-ceramic
│   ├── networking
│   └── streams
├── js-ceramic
│   └── nodes
└── rust-ceramic
    └── guides
        ├── ceramic-nodes
        └── migration

The rust-ceramic/guides bit is just placeholder stuff & will likely move to core/guides/ceramic-nodes/rust-ceramic (assuming we want all the guides together). Also I'm thinking that if we do want one guides section, it should probably live directly under /protocol instead of /protocol/core as I've got here, but I'll leave it alone for now.

I'm planning to switch gears for the rest of the day & draft some concept docs, and I may not have time to implement any suggestions here until next week. But if you have thoughts about the url and directory structure, please let me know & I'll pull them in when I pick this back up.

cc @bigs