Skip to main content
  __  __            _                     
 |  \/  |          | |                    
 | \  / | __ _ _ __| | _____  _ __ __ _   
 | |\/| |/ _` | '__| |/ / _ \| '__/ _` |  
 | |  | | (_| | |  |   < (_) | | | (_| |  
 |_|  |_|\__,_|_|  |_|\_\___/|_|  \__,_|  

⚡ Sovereign Markor-style Markdown Notebook, QuickNotes & Todo TUI for Terminal Power Users

CI License: MIT Python: 3.8+ Code Style: Clean

FeaturesInteractive TUI1-Line InstallCLI ReferenceTUI ShortcutsGoogle Keep SyncConfiguration


💡 Why Markora?

If you love the simplicity, offline-first philosophy, and markdown-native architecture of the popular Android app Markor, Markora brings that exact seamless experience straight into your terminal.

  • Zero Cloud Lock-in: Your data is 100% plain Markdown files in ~/Documents (or your custom directory). You own your notes forever.
  • Zero Heavy Dependencies: Core CLI and interactive TUI run entirely on the Python 3 standard library. No Electron bloat, no node_modules, no heavy frameworks.
  • Dual Personality: Use lightning-fast one-liner CLI commands (markora add, markora qn) for scriptability, or fire up the rich interactive 4-tab Curses TUI (markora ui) for browsing, editing, and task triage.
  • Seamless Portability: Sync your folder with Syncthing, Nextcloud, Git, or Android Markor without converting formats.

✨ Key Features

Feature Description
📝 QuickNote / Scratchpad Instant timestamped brain dumps saved directly to quicknote.md.
To-Do & Milestones Parse and manage markdown task lists with priorities (P1, P2, P3), tags (#urgent, @work), sections, and sub-items.
📚 Notebook Tree Hierarchical directory tree with folding/unfolding, file counts, and folder creation.
Star & Pin Favorites Pin your most crucial notes to the top for instantaneous access.
🔍 Global Full-Text Search Real-time substring and regex search across all markdown files with direct line jumping into $EDITOR.
🖱️ Full Mouse & Keyboard Click tabs, check/uncheck tasks, fold folders, and scroll panes with full terminal mouse support.
🔄 Google Keep Bridge Optional bidirectional sync with Google Keep (markora keep sync) for seamless mobile-to-desktop workflow.

🖥️ Interactive Curses TUI

Launch with markora ui (or alias td ui):

┌────────────────────────────────────────────────────────────────────────┐
│ MARKORA NOTEBOOK | SSOT: TODOLIST.md                                   │
├────────────────────────────────────────────────────────────────────────┤
│ [1] QuickNote   [2] To-Do   [3] Notebook   [4] Search    Filter: (none)│
├──────────────────────────────────┬─────────────────────────────────────┤
│ > [✔] # 1 [P1] Deploy core v1.0  │ Task #1 Details                     │
│   [ ] # 2 [P2] Write user manual │ Section : ACTIVE TASKS              │
│   [ ] # 3 [P3] Refactor keep api │ Status  : DONE                      │
│                                  │ Priority: P1                        │
│                                  │ Scope: Production release           │
│                                  │ Deliverables: Clean package         │
├──────────────────────────────────┴─────────────────────────────────────┤
│ [Space] Toggle [a] Add [r] Edit [d] Del [e] Editor [s] Sync Keep [q]   │
└────────────────────────────────────────────────────────────────────────┘

📦 Installation

Option 1: 1-Line Standalone Installer (Recommended)

curl -fsSL https://raw.githubusercontent.com/zyekhabdul/markora/main/install.sh | bash

This installs markora (and aliases td, todo, mo) into ~/.local/bin/.

Option 2: Pip / Pipx Installation

# Standard install (Zero external dependencies)
pip install git+https://github.com/zyekhabdul/markora.git

# With optional Google Keep synchronization
pip install "markora[keep] @ git+https://github.com/zyekhabdul/markora.git"

Option 3: Manual Clone & Symlink

git clone https://github.com/zyekhabdul/markora.git ~/Projects/markora
cd ~/Projects/markora
make symlink

🚀 CLI Command Reference

All commands support both markora and the ultra-short alias td:

# --- QuickNotes ---
td qn "Remember to review pull request"   # Append thought
td qn                                     # View quicknotes
td qn -e                                  # Edit in $EDITOR

# --- Task Management ---
td add "Ship version 1.0" -p p1           # Add high-priority task
td add "Research new indexing" -s "Inbox" # Add to specific section
td list                                   # List all tasks
td list -p                                # Show only pending tasks
td list -d                                # Show completed tasks
td list -t #backend                       # Filter by tag
td done 1 3                               # Complete tasks #1 and #3
td undone 2                               # Mark task #2 pending
td toggle 1                               # Toggle completion status
td rm 4                                   # Delete task #4

# --- Markdown Notebook ---
td note "System Architecture"             # Create new note in notes/
td note -d                                # Open today's daily note
td notes                                  # List all notebook files
td find "authentication"                  # Search across all notes
td fav list                               # List starred notes
td fav add notes/project.md               # Star a note

# --- TUI & Integrations ---
td ui                                     # Launch interactive 4-tab TUI
td keep auth                              # Connect Google Keep
td keep sync                              # Two-way sync with Keep

⌨️ TUI Keyboard Shortcuts

Key Context Action
1 / 2 / 3 / 4 Global Switch directly to Tab 1–4
Tab Global Cycle to next tab
j / k / / Navigation Move cursor up / down
g / G Navigation Jump to top / bottom of list
Space / x To-Do Tab Toggle task checkbox ([ ][✔])
a Global Append QuickNote or Add To-Do task
t QuickNote Insert current timestamp log entry
n Notebook Create new .md note in highlighted folder
N / m Notebook Create new subfolder
f / p Notebook Star / Toggle Favorite note [⭐]
r / R Global Rename note/folder or edit task title
d Global Delete task, note, or directory (with confirmation)
Enter / l / Notebook Open note in $EDITOR / Expand folder
h / Notebook Collapse folder / Jump to parent folder
e Global Open current document in $EDITOR (nvim, zed, etc.)
s / S Global Trigger Google Keep bidirectional synchronization
/ Global Live filter tree / search query
Esc Global Clear filter query
Ctrl+R Global Force reload data from disk
? Global Open interactive Keyboard Shortcut Help Modal
q Global Quit Markora

🔄 Google Keep Bidirectional Sync

Markora includes a built-in sync engine that maps your Google Keep notes to your local markdown hierarchy:

  • Daily Notes → Synced with Keep notes labeled daily-notes
  • QuickNote → Synced with Keep note titled QuickNote
  • General Notes → Synced with Keep notes labeled notes

How to Authenticate:

# Install Keep dependencies
pip install "markora[keep]"

# Run interactive auth (automated browser popup or token paste)
markora keep auth

# Perform two-way sync
markora keep sync

⚙️ Configuration

Markora respects standard Unix configuration paradigms and environment variables:

Environment Variable Default Purpose
MARKORA_NOTES_DIR / NOTES_DIR ~/Documents Root directory for your markdown notes
MARKORA_TODO_FILE / TODO_FILE $NOTES_DIR/TODOLIST.md Master todolist markdown file
EDITOR / VISUAL nvim (fallback: zed, nano, vi) Preferred text editor

Config files are stored in ~/.config/markora/ (with automatic fallback to ~/.config/td/).


🐚 Shell Completion

Shell completion scripts for Bash and Zsh are located in completions/:

# Bash
source <(cat completions/markora.bash)

# Zsh
cp completions/markora.zsh ~/.zsh/completion/_markora

🛠️ Development & Testing

git clone https://github.com/zyekhabdul/markora.git
cd markora

# Setup editable install with test dependencies
make dev

# Run comprehensive test suite
make test

# Lint & syntax validation
make lint

📄 License

MIT License © 2026 zyekhabdul. Built with craftsmanship for sovereign terminal enthusiasts.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

markora-1.0.0.tar.gz (36.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

markora-1.0.0-py3-none-any.whl (34.0 kB view details)

Uploaded Python 3

File details

Details for the file markora-1.0.0.tar.gz.

File metadata

  • Download URL: markora-1.0.0.tar.gz
  • Upload date:
  • Size: 36.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for markora-1.0.0.tar.gz
Algorithm Hash digest
SHA256 631d6fee2aec44731b33a19ab3c978ddf8331a2d1deefbbbc796faf7bd46155a
MD5 6e4a5d714d19ff88bdc219a34e9423eb
BLAKE2b-256 9c11133d55470867ec7d00fd2d1ee28a4d7d1581ceac3f1ea9c7795238a2d842

See more details on using hashes here.

Provenance

The following attestation bundles were made for markora-1.0.0.tar.gz:

Publisher: publish.yml on zyekhabdul/markora

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file markora-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: markora-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 34.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for markora-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7d9ba61f51bc17d754b0e6a0ef3944a8a0a1e2a829f844922fde33c23e02dde8
MD5 8e4bc291d440b262fc4eaeed37ffecc6
BLAKE2b-256 567e6367899827d71149d7a6db47e910266ecf8d415523842bf98a3131acdbdc

See more details on using hashes here.

Provenance

The following attestation bundles were made for markora-1.0.0-py3-none-any.whl:

Publisher: publish.yml on zyekhabdul/markora

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page