What the editor does
The in-app editor lets you edit MDX in your connected repo through a familiar Monaco surface (the engine behind VS Code). A sidebar on the left lists your pages and files, and a slide-out panel on the right handles settings — either for the current page or for the whole site.
Save writes a commit to your repo. The webhook replays through our sync pipeline and your site updates within seconds.
Three regions
Left sidebar
Navigation tree (mirrors nookdocs.config.json#navigation) and Files tree (raw repo layout). Right-click on any row for actions.
Center — Monaco
Full Monaco editor with MDX syntax highlighting, multi-cursor, find/replace, and autosave to a draft buffer until you click Save.
Right panel
Page Settings for the currently-open page, or Site Configurations for project-wide options. Click outside to dismiss.
The dashboard's own sidebar starts collapsed here — the editor already asks for three columns, and a fourth leaves little room for the document. Expand it with the toggle and the editor remembers; your dashboard sidebar keeps its own setting either way.
Right-clicking a row and choosing Settings selects that row as well as opening its panel, so the highlight always matches what the panel is editing.
Left: Navigation tab vs Files tab
The Navigation tab shows pages grouped exactly the way your site's sidebar renders them — tabs, groups, and pages in the order declared in nookdocs.config.json#navigation. Pages referenced in your repo but not in the nav show up under an automatic Other group at the bottom.
The Files tab shows the raw repo tree — every file, every folder. Use this when you need to work with files your nav doesn't surface (images under public/, templates, snippets).
Center: Monaco
The Monaco instance is configured for MDX: syntax highlighting for Markdown + JSX, bracket matching, multi-cursor editing (⌘D), and find/replace (⌘F). Unsaved edits live in-memory only until Save fires a commit.
Right: Page Settings vs Configurations
The right panel is context-aware:
Click a page in the navigation tree → Page Settings slides in (frontmatter, icon, tag, hidden, redirects).
Click the gear icon in the top toolbar → Configurations slides in (site identity, colors, navbar, footer, AI Assistant, advanced toggles).
Click outside the panel or hit Esc → panel closes without saving.
Top toolbar
Branch selector · Save button (shows pending-change count) · Configurations gear
Branch selector
Only visible for self-hosted repos with more than one branch. Pick the branch you want to edit — the navigation tree, file tree, and editor all re-resolve against that branch. For managed repos the selector is hidden (single-branch operation is enforced).
Save
The Save button counts unsaved changes across all panels — MDX edits, frontmatter updates, and configuration tweaks all roll into one commit. The commit message is auto-generated ([nookdocs] update <files>), signed as nookdocs-bot[bot].
Configurations gear
Toggles the right-side Configurations panel for project-wide settings.
When the panel changes
| You do | Panel shows |
| Click a page in Navigation or Files | Page Settings for that page |
| Right-click a page → Settings | Same as above |
| Click the gear icon in the toolbar | Configurations (site-wide) |
| Click outside the panel | Panel closes, unsaved field values stay in the form |
| Hit Esc | Same as click-outside |
Permissions inside the editor
Editor permissions are derived from the GitHub permissions on the underlying repo. We do not have a separate editor-level RBAC.
Viewers (no repo write access) — read-only. Can open any page and see Monaco, but Save is disabled and the context menu's destructive actions (delete, rename, move) are hidden.
Editors (repo write access) — can save directly to branches that are NOT protected. Hitting Save on a protected branch (
mainwith branch protection rules) falls through to the PR-creation flow (planned).Owners (repo admin) — everything editors can do, plus project-level deletion (in Settings, not the editor).