Repository navigation
Structure and Navigation
Where a page sits, what its card says and what the Docs home shows all come from three places: the page's front matter,
nav.ymlandhome.md.
flowchart TD
H["π Docs home<br/>docs2/home.md"] --> S1["π Section<br/>content/editors/index.md"]
S1 --> C1["π Chapter<br/>content/editors/3d-viewport/index.md"]
C1 --> P1["β³ Page<br/>content/editors/3d-viewport/object-mode.md"]
P1 --> H2["# Sub-chapter Β· ## Area Β· ### Panel<br/>(headings inside the page)"]
| Level | In the repository | On the website |
|---|---|---|
| π Section | A folder under content/ with an index.md
|
Sidebar panel + an overview page (/docs/editors) with numbered chapter cards |
| π Chapter | A page, or a folder with index.md
|
A sidebar row; its children become cards on it |
| β³ Page | A page inside a chapter folder | An indented sidebar row |
| π Headings |
#, ##, ### in the page |
The Page Sections outline, anchors and instant search results |
- Create the file where it belongs, for example
content/editors/3d-viewport/curve-edit-mode.md. In Pages CMS: Add an entry, pick the folder. - Give it a title and a summary (one sentence: it shows on cards, in search and on Google).
- Optional:
icon:(a Bforartists icon name, likeview3d),cta:(the card button word, like "Open") andorder:(its place among its siblings: 10, 20, 30β¦). - Open a pull request. The robot fills in
id,sectionandpath, files the screenshots and checks everything.
π‘ The web address comes from the
id(editors.3d-viewport.curve-edit-modeβ/docs/editors-3d-viewport-curve-edit-mode). Never change anidonce a page is live; change the title instead.
| Change | Do | Effect |
|---|---|---|
| βοΈ New title | Edit title:
|
Sidebar, card and breadcrumb update; address stays |
Edit order: (or its line in nav.yml) |
Sidebar order changes | |
| π New folder | Move the file, keep its id: line, update its line in nav.yml
|
Same address, new place in the sidebar |
| π§© Merge two pages | Combine them and list the removed page's id under replaces:
|
The removed page's item is archived by the sync (--prune) |
| ποΈ Remove | Delete the file (and its nav.yml line) |
The sync archives the item; nothing is deleted in Webflow |
docs2/nav.yml lists the sections and their pages in sidebar order. check.py fails if a line points to a file that does not exist, so a moved file always needs its line updated in the same pull request.
docs2/home.md holds no body text, only fields the docs script turns into the page:
| Field | Shows |
|---|---|
eyebrow, headline, summary
|
The hero |
popular |
The chips under the search box (a link can also jump on the page, like "#dk-look" for the workspace picker) |
art |
The hero picture beside the search (image:, a Webflow asset URL; one still picture, no animation) |
workspace |
The workspace picker: pages: lists the tabs Bforartists opens with, in order (focus tabs over one map, like the Download page's release switch); all: is the Explore all workspaces button. With only page: it shows that one map |
explore |
Optional card beside the search that jumps to the picker (off: the picker has its own button) |
teaser |
The Quick Starts Β· coming soon card, until the guides exist |
paths |
Quick Start path cards (unused while the teaser is on) |
The sections, review progress and help cards are built from the sidebar data; there is nothing to edit for them.
Every page has status: in its front matter. Readers see it as a coloured chip, and the Docs home counts them.
| Value | Readers see | Meaning |
|---|---|---|
draft |
β Draft | Copied from the old manual, not checked yet |
needs-review |
β In review | Rewritten or checked once, waiting for a second look |
reviewed |
β Reviewed | Checked against the current Bforartists version |
Change it in Pages CMS (Status) or in the file; the cards, the chip and the progress bars follow on the next sync.
A bot raises the status of the pages a pull request changes, so nobody has to remember to:
| Pull request | Pages it changes become |
|---|---|
| π Draft | stay draft
|
| π Ready for review |
needs-review (β In review) |
β
Approved, or labelled reviewed
|
reviewed (β Reviewed) |
- The bot commits the new status to the pull request's own branch, so it reaches
masterwith the merge.masteris protected: nothing is pushed there directly. - The status only goes up, never down. A page counts as changed only when its text changed, not its header or pictures.
- It skips pull requests from forks, pull requests that change more than 25 pages (a bulk rename or a script) and pull requests with the label
no-status. - Preview and the staging website show the chip from the page file, so an open pull request shows β In review in its preview, and merged pages show β Reviewed once they were approved.
- The tool is
docs2/tools/page_status.py; the workflow isdocs2-page-status.yml.
The instant search (Ctrl K, or the π button) reads search.json, which the sync writes from every page's title, summary and headings. A good summary and clear headings are all a page needs to be found.
π Bforartists Manual wiki Β· GPL v3 Β· Repository Β· Website Β· Report a docs problem Β· These pages are kept in docs2/dev-docs/ and copied here, so edit them there.
π Home
βοΈ Writing
- π Writer quick start
- βοΈ Editing the docs online
- βοΈ Plain writing
- πΌοΈ Images and screenshots
- π Formatting standard
- β»οΈ Shared sections
- π Reference Manual writing guide
βοΈ How it works
- πΊοΈ How Docs 2.0 works
- πΏ Branches and review
- π Converting chapters
- β Checks and previews
- π Website sync
π§° Maintaining
- π§° Maintainer guide
- π§ Structure and navigation
- πΊοΈ Workspace maps
- β¨οΈ Keymap
- ποΈ Site scripts
- π Release update
- π©Ί Troubleshooting
π Status