- frontmatter: replace custom YAML parser with gray-matter; add private field (was silently dropped on save) - types: add private? to NoteMeta so the field propagates through NoteContent - use-notes: fix all subtopic traversal bugs (deleteNote, renameNote, toggleDraft, updateActiveNote, loadNotes first-select) using recursive mapTopicNotes/filterTopicTree helpers - api: remove unused moveNote duplicate (moveNoteApi is the correct export) - auth: add setPendingServerUrl/getPendingServerUrl/clearPendingServerUrl for Authentik redirect flow - login: implement Authentik SSO flow — save server URL, redirect to /api/studio/auth/authentik, detect #token= on return; show/hide token vs Authentik sections based on server config - preview: fix useRef type error (missing undefined initializer) |
||
|---|---|---|
| public | ||
| src | ||
| .dockerignore | ||
| .gitignore | ||
| Dockerfile | ||
| LICENSE | ||
| next-env.d.ts | ||
| next.config.ts | ||
| package.json | ||
| pnpm-lock.yaml | ||
| postcss.config.mjs | ||
| README.md | ||
| tsconfig.json | ||
noz-studio
A web editor PWA for noz — write and manage notes from any device, even without the CLI.
Personal use. Built as part of my own noz setup — open source, but things change without notice.
Features
- CodeMirror 6 editor with Markdown syntax highlighting
- Live preview — rendered note side by side with the editor
- Wikilinks —
[[Note Title]]autocomplete and resolution - Diagram canvas — visual editor for
_diagram.tomlfolder diagrams - Full-text search — search your garden from the sidebar
- PWA — installable, works offline for reading cached notes
- Dark / light mode
- Multilingual (de / en)
Setup
noz-studio connects to a running noz instance via the CLI API. You need a token configured in your noz server's .env.local:
NOZ_CLI_TOKEN=your-secret-token
And in noosphere.toml:
[studio]
auth = "token" # or "authentik" or "both"
allow_push = true
Then set the allowed origin for CORS in .env.local on your noz server:
NOZ_STUDIO_ORIGIN=https://studio.your-domain.com
Running locally
pnpm install
pnpm dev # starts on port 3001
Open http://localhost:3001, enter your noz server URL and token.
For local development, you can prefill credentials via environment variables:
NEXT_PUBLIC_DEV_SERVER=http://localhost:3000
NEXT_PUBLIC_DEV_TOKEN=your-token
Deployment
noz-studio is a standard Next.js app — deploy anywhere Next.js runs (Vercel, Docker, self-hosted).
The infra/ folder in noz contains a Traefik config for self-hosting behind a reverse proxy.
License
For commercial licensing (proprietary use without copyleft), open an issue.