Skip to main content

MarkDay

A local-first daily work logger with rich Markdown editing, calendar navigation, search, and math support. All data stays on your machine — no cloud, no accounts.


Features

Feature Details
Markdown editor Auto-continuing lists, smart indent/unindent, toolbar shortcuts
Calendar Sidebar mini-calendar, dots on days with entries, year/month nav
Dark / Light themes Toggle with one click; persisted in localStorage
Search Full-text search across all years with highlighted snippets
Preview On-demand split-pane preview with math (KaTeX) and syntax highlighting
Math KaTeX — inline $...$ and display $$...$$
Keyboard shortcuts VS Code–style: Ctrl+B/I/S/P/F/D, Alt+↑↓, Tab indent, list continuation
Local storage One Markdown file per year at ~/.markday/YYYY.md

Installation

pip install .

Or for development (editable install):

pip install -e .

Usage

markday                  # start on default port 5500, open browser
markday --port 8080      # custom port
markday --no-browser     # don't auto-open browser
markday --debug          # Flask debug mode

Set the data directory via environment variable:

MARKDAY_DIR=/path/to/notes markday

Data format

Entries are stored as plain Markdown in ~/.markday/YYYY.md:

# Mark Day 2026

## 2026-05-28

- Implemented FNO baseline on Burgers' equation
- Compared modes=12 vs modes=24: higher modes overfit on small dataset

## 2026-05-29

### Meetings

- Sync with team on neural operator paper

### TODO

- [ ] Run ablation on FiLM conditioning strength
- [x] Fix memory leak in DataLoader

Because the format is plain Markdown, you can edit files directly in any editor, commit them to git, grep them, or process them with any Markdown tool.


Keyboard shortcuts

Shortcut Action
Ctrl+S Save
Ctrl+B Bold
Ctrl+I Italic
Ctrl+P Toggle preview
Ctrl+F Focus search
Ctrl+/ Toggle HTML comment on line
Ctrl+D Duplicate line
Alt+↑ / Alt+↓ Move line up/down
Ctrl+] / Ctrl+[ Indent / Unindent
Tab / Shift+Tab Indent / Unindent (2 spaces)
Enter Smart list continuation
Ctrl+Home / Ctrl+End Jump to top / bottom
Esc Close modals

Math examples

Inline: $E = mc^2$

Display:

$$
\int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$

Neural operator notation:

$$
\mathcal{G}_\theta : \mathcal{A} \to \mathcal{U}, \quad u = \mathcal{G}_\theta(a)
$$

Requirements

  • Python ≥ 3.10
  • Flask ≥ 3.0
  • markdown ≥ 3.6
  • pygments ≥ 2.17

All other dependencies (CodeMirror, KaTeX, highlight.js) are loaded from CDN.

Metadata

Release files for markday 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for markday 0.1.0
File Size Uploaded Provenance Actions
markday-0.1.0.tar.gz 15.3 kB Without provenance Details for markday-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for markday 0.1.0
File Interpreter ABI Platform Actions
markday-0.1.0-py3-none-any.whl Python 3 none any Details for markday-0.1.0-py3-none-any.whl

Total release size: 31.7 kB

Release files / markday-0.1.0.tar.gz

Download URL markday-0.1.0.tar.gz
Size 15.3 kB
Tags Source
SHA-256 checksum
How to use checksums
53f36ccf81518fe7c93498516d08fc5e8607404acc6d64924cac974adbd0840c
BLAKE2b-256 checksum
How to use checksums
28c789496c2babfbd595fe8acfff4257c95089fbb1765e781862e350dc7ebdd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.6

Release files / markday-0.1.0-py3-none-any.whl

Download URL markday-0.1.0-py3-none-any.whl
Size 16.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd43c2fc974923225c1c5442ba785722fb6cbc2426198e67abfffb3e6d293eec
BLAKE2b-256 checksum
How to use checksums
7f72eaabc868fd9fcc4f735a94e632ba2f63194936726e4f92e06408d6138f3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.6

Security for markday 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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