Skip to content

VidhyadharanSS/RagnarNotes

Repository files navigation

Ragnar Notes

Ragnar Notes

A local-first Markdown note-taking app for macOS.
Built with Tauri + React. No cloud. No sync. Your notes, your machine.


Installation

Download (Recommended)

  1. Go to Releases
  2. Download the .dmg for your architecture (Apple Silicon or Intel)
  3. Open the DMG and drag Ragnar Notes into Applications
  4. Launch from Applications

Gatekeeper warning: System Settings → Privacy & Security → "Open Anyway"

Build from Source

Requires macOS 12+, Node.js 18+, Rust stable, and Xcode CLI tools.

git clone https://github.com/VidhyadharanSS/RagnarNotes.git
cd RagnarNotes
npm install
npm run tauri build

Development

npm run dev           # Web preview at http://localhost:1420
npm run tauri dev     # Native macOS window with hot-reload

Features

Editor

  • Full GitHub Flavored Markdown — tables, task lists, footnotes, callouts
  • Syntax highlighting for 150+ languages
  • Split view (Edit + Preview side-by-side)
  • Zen / Focus mode for distraction-free writing
  • Smart Enter — auto-continues lists, tasks, blockquotes
  • Slash commands (/heading, /table, /code, etc.)
  • Undo/Redo with full snapshot history
  • Inline emoji picker
  • Callout blocks: > [!NOTE], > [!WARNING], > [!TIP]

Notes

  • Pin notes to top
  • Color labels — 8 colors for visual organization
  • Tags with Obsidian-style inline #tag suggestions
  • Move notes between folders via right-click
  • Bulk select for trash/delete/export
  • Import individual files or entire folders of .md files
  • Duplicate notes
  • Hover preview cards

Folders

  • Nested folder hierarchy with subfolder support
  • Right-click context menu: Rename, Create Subfolder, Delete
  • Drag-friendly folder tree with expand/collapse

Organization

  • Knowledge graph — visual map of note connections
  • Note templates — 8 prebuilt templates (Meeting, Journal, Project, etc.)
  • Backlinks panel — see which notes link to the current note
  • Outline panel — heading-based document structure
  • Note history panel
  • Bookmarks bar for quick access
  • Quick Switcher for rapid note navigation

Export

  • PDF, Markdown, HTML export per note
  • Bulk export — select multiple notes and export all at once
  • Code block copy with visual "Copied" feedback

Appearance

  • 8 themes: Dark, Light, System, Rosé Pine, Nord, Catppuccin, Gruvbox, Solarized
  • 14 font families across Sans-serif, Serif, and Monospace
  • 10 accent colors
  • Adjustable font size, line height, editor width
  • Resizable sidebar and note list panels
  • Full-screen reading and editing mode

Settings

  • Auto-save with configurable delay (0.5s–10s)
  • Spell check toggle
  • Compact mode
  • Word count in status bar
  • Storage manager with usage info
  • In-app update checker (checks GitHub releases)

Keyboard Shortcuts

Shortcut Action
⌘K Command Palette / Search
⌘O Quick Switcher
⌘N New Note
⌘, Settings
⌘/ Toggle Sidebar
⌘. Zen / Focus Mode
⌘E Edit Mode
⌘⇧P Preview Mode
⌘⇧S Split View
⌘⇧E Export Note
⌘Z Undo
⌘⇧Z Redo
⌘B Bold
⌘I Italic
⌘` Inline Code
⌘⇧X Strikethrough
⌘⇧H Highlight

Tests

npm test              # 132 tests across 9 suites
npm run test:watch    # Watch mode
npm run test:coverage # Coverage report

Architecture

src/
├── components/
│   ├── editor/         MarkdownEditor, EditorToolbar, MarkdownPreview, StatusBar
│   ├── features/       CommandPalette, ExportModal, BulkExportModal, SettingsPanel,
│   │                   NoteTemplates, NoteGraph, FolderTree, QuickSwitcher, ...
│   ├── layout/         Sidebar, NoteList, EditorPane, TitleBar, ResizeHandle
│   └── ui/             Toast, Tooltip, ContextMenu, HoverPreview, NoteColorPicker
├── hooks/              useTheme, useAutoSave, useKeyboardShortcut, useResizable, useUndoRedo
├── stores/             appStore, editorStore, notesStore, searchStore (Zustand)
├── utils/              format, sanitize, keyboard, markdown, fonts, exportPdf
├── styles/             globals.css (design tokens, prose, theme variables)
└── types/              index.ts

Tech Stack

Layer Technology
Shell Tauri 1.x (Rust)
Frontend React 18, TypeScript 5
Styling Tailwind CSS 3, CSS custom properties
Animations Framer Motion 11
State Zustand 4 (devtools + persist)
Markdown marked (GFM) + custom renderer
Syntax highlight.js
PDF html2pdf.js
Testing Vitest
Build Vite 5

License

MIT — Vidhya Dharan S S

About

A superb note taking application for your personal needs (MacOS based)

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors