Skip to content

Vaults ​

A vault is a plain folder of .md files on your disk. Sub-folders are your folder tree; the filename is the note title. Znote adds a single self-contained .znote/ directory inside the vault:

MyVault/
├── Meeting notes.md
├── Meeting notes.secrets.yaml   # only if the note has secrets — encrypted
├── Projects/
│   └── Roadmap.md
├── attachments/          # pasted images, recordings, snapshots
└── .znote/
    ├── settings.json     # vault-local settings, tabs, last note
    ├── metadata.json     # minimal per-note flags (pin, run permission…)
    ├── .gitignore        # only in a git-versioned vault (see Git sync)
    └── trash/            # soft-deleted notes

There is no database: your notes stay portable, syncable and greppable. Everything Znote writes into a note (wikilinks, embeds, code results) is plain markdown.

Opening and switching vaults ​

The vault switcher sits at the bottom of the left sidebar (a compact button when the tree panel is collapsed). It lists your known vaults with, per row, a Show in explorer button and a ✕ Remove from list button (nothing is deleted on disk).

  • Open folder as vault… initializes any folder of markdown files as a vault — including an existing Obsidian vault.
  • Each vault opens in its own window (Obsidian-style); the same folder never opens twice — its window is focused instead. Window titles show the vault name.
  • From the command line: znote /path/to/vault opens that vault.
  • Each vault remembers its own layout: sort order, sidebar state, focus mode, open tabs and last note are stored per vault.

Trash ​

  • Deleting a note is a soft delete into .znote/trash/; Restore puts it back where it was — with its secrets sidecars, which follow the note wherever it goes.
  • Deleting a vault folder sends all its notes (including nested ones) to Trash.
  • Deleting an item already in Trash removes it permanently; Empty trash clears everything after a confirmation showing the item count.

External edits & sync ​

The vault is watched: edits made by other apps (Obsidian, git, iCloud…) are picked up automatically and reconciled with your session — unsaved in-memory edits always win over disk. Znote's own saves never trigger a rescan, and a clean close doesn't touch file modification times, so sync tools don't see phantom changes.

A manual Refresh from disk button lives on the All files root row of the tree. Linked external folders are not watched — they keep their own refresh button.

When the vault is a git repository, that same button also runs a git fetch, and the tree gains pull / push controls — see Git sync.

Backups & storage (Settings → Backup) ​

  • Backup vault — zips the vault itself (it's self-contained). Private secrets sidecars are included: they are out of git by design, so the zip is their only copy.
  • Import backup — restores a vault zip into a folder you choose. A legacy (pre-vault) zip is re-migrated at next launch.
  • Clean orphan attachments — sweeps attachment files no longer referenced by any note, with a preview of the files and total size before anything is deleted.
  • Storage — shows the Vault folder and the Global app folder (preferences, licence, vault list) with Show-in-explorer buttons.

Note naming ​

  • New notes are named "New note N" — rename via the inline title or the tree Rename action.
  • Filesystem-reserved characters (: / " ? * < > |) are normalized automatically (Note: v2 → Note v2).
  • The .md extension is hidden everywhere in the app.
  • Duplicating or copy-pasting a note reuses the source name (deduplicated) and never rewrites the content.

Migrating from an older Znote?

See Upgrading from an older Znote for how the automatic migration works.

Znote — your notes, your files, your machine.