Note taking without all the BS; localized, cached, performant, Markdown baked in.
- macOS 26+
- Xcode 26+
open Nodeable.xcodeprojOr from the command line:
xcodegen generate # only if project.yml changed
xcodebuild -scheme Nodeable -project Nodeable.xcodeproj -configuration Debug -destination 'platform=macOS' buildThen run the Nodeable scheme in Xcode (⌘R).
- Add folder / file — toolbar or File menu (
⇧⌘O/⌥⌘O); security-scoped bookmarks keep access across launches. - Open a note — select it in the Library tree; edit Markdown in the center pane.
- Save — autosave on debounce,
⌘S, or when the app deactivates. - Tags — write
#kebab-casein Markdown; they index into the tree and info pane. Rename/delete in Settings → Tags rewrites on-disk files. - Libraries — virtual collections (
⇧⌘L); membership is DB-only and does not move files. - Solo / Maxi —
⌘.or⇧⌘F; last mode persists. - Math — write
$…$,$$…$$,\(…\)or\[…\]. Source mode floats a live preview of the equation under the caret; Preview (⇧⌘R) typesets the whole note. Code fences and inline code are left alone. - Export as PDF —
⇧⌘E; paginated US Letter with the equations rendered.
- Appearance — App Dark/Light/System; Editor Light/Dark/System/Custom (background + font color)
- Editor — manage indexed roots, reindex
- Tags — color, rename, delete with Markdown rewrite
See Nodeable/ for SwiftUI sources (App, Library, Editor, Info, Data, Settings, Theme). Regenerate the Xcode project from project.yml with XcodeGen when the file list changes.
Nodeable/Resources/KaTeX/ holds a vendored KaTeX 0.16.22 build (katex.min.js, katex.min.css, woff2 fonts). It is bundled as a folder reference so the stylesheet keeps resolving fonts/, and the app has no network entitlement — math rendering is entirely offline. To update it, replace the folder from a KaTeX release tarball.