[WIP] New Developer Documentation Infrastructure: Tasks, Questions, Plan of Action #105349
- A Git LFS repository?
- Always pull the repository with Blender sources using
make update(like add-ons)?
- (Material for) MkDocs doesn't support a Gitea integration natively (only GitHub, GitLab or Bitbucket). This is used for example to display an "Edit" button linking to the source markdown file in the repository. Can we get that done somehow?
- Do we also put developer documentation for other blender.org projects here? Flamenco, websites, infrastructure, ...
Adding versioning or translations for the technical documentation probably isn't worth it. However people can build an earlier version from the git repository.
What needs to be done
Scalable Navigation Design
The navigation generated by (Material for) MkDocs is quite nice usually, but for Blender I would expect a fair number of main sections. So I think we need to build our own navigation for these main sections, to keep things scalable. This needs a design.
Landing Page Design
- Basic setup (configuration, plugins, folder-structure, etc.)
- Set up Git LFS?
- New buildbot worker for auto-deployment
- Custom landing page
- Custom navigation
- Blender developer header (navigation between projects.blender.org, devtalk, docs, code blog)
- Licensing page
- Contributing page (build instructions, process etc.)
- Redirects for old links (esp. release notes if these are moved)
Note some basic setup is available under JulianEisel/devdocs already, this can probably be copied into the official repository.
Open topic: Deprecate the Wiki
If we want to replace the Wiki entirely, a few points need attention:
- Where do the release notes go?
- How do we deal with storage (GBs of images for release notes, etc.)?
- How to handle personal pages & weekly reports?
- Maybe move this to personal Wiki pages on projects.blender.org.
- In the past centralizing this info was discussed too.
- Old Wiki should probably be archived.
Plan of action
Phase 0: Planning
- Get buy-in on the new docs like code platform (e.g. presentation at the Blender HQ)
- Landing page & navigation design.
- Decide on overal documentation structure.
- Investigate open questions for replacing Wiki.
Phase 1: Set up new platform
- ✅ Prepare CD pipeline - #107844
- Get new platform up and running: Git (LFS?) repository, buildbot, MkDocs configuration, etc.
- Implement custom landing page and page navigation.
Phase 2: Move Developer Documentation
- Scripts/tools are available to convert the syntax, will need plenty of manual cleanup still.
- Set up basic developer handbook.
- Move pictures and other resources.
- Move release notes & human interface guidelines?
Phase 3: Deprecate Wiki
If we choose to move away from the Wiki entirely, this can be done after the new developer doc infrastructure is in place.
- Move personal pages to personal projects.blender.org repositories?
- Are there other pages to move?
- Archive wiki as read-only.
These are things we should probably do, but are not
I tested converting a wiki dump to markdown, using
mediawiki-to-gfm with some tweaks:
It has many issues but it's a starting point.
No due date set.
No dependencies set.
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?