TUI Markdown Editor
A terminal-based markdown editor built with Textual, forked from Frogmouth.
It keeps all of Frogmouth's excellent navigation, history, bookmarks, and scrolling Markdown preview — and adds an integrated editor so you can edit files right in the terminal.
Features
- Full Frogmouth navigation — Omnibox address bar, sidebar with bookmarks/history/local files/table of contents
- Scrollable Markdown preview — Proper scrolling with table of contents, link navigation, and history
- Edit mode — Press
Ctrl+Eto switch from preview to a syntax-highlighted TextArea editor - Save — Press
Ctrl+Sto write changes back to disk - Dirty tracking — Know when you have unsaved changes
- Remote URLs — Open Markdown files from the web (read-only)
Installation
Install the package into your virtual environment in editable mode:
pip install -e .
This installs the tui-md-editor CLI command.
Usage
Launch the editor with an optional starting file:
tui-md-editor
tui-md-editor ~/notes.md
Keybindings
Navigation (Frogmouth defaults)
| Key | Action |
|---|---|
/ or : |
Focus the omnibox (address bar) |
Ctrl+N |
Toggle navigation sidebar |
Ctrl+Left |
Back in history |
Ctrl+Right |
Forward in history |
Ctrl+R |
Reload current document |
Ctrl+B |
Show bookmarks |
Ctrl+Y |
Show history |
Ctrl+L |
Show local files |
Ctrl+T |
Show table of contents |
F1 |
Help |
F2 |
About |
Ctrl+Q |
Quit |
Editing (new)
| Key | Action |
|---|---|
Ctrl+E |
Toggle Edit / Preview mode |
Ctrl+S |
Save the current file |
Project Structure
This is a fork of Frogmouth with the following modifications:
src/tui_md_editor/widgets/viewer.py— AddedTextAreaeditor inside aContentSwitcher, plustoggle_edit()andsave_file()methodssrc/tui_md_editor/screens/main.py— AddedCtrl+EandCtrl+Sbindings wired to the Viewersrc/tui_md_editor/app/app.py— Updated entry point and brandingsrc/tui_md_editor/utility/advertising.py— Updated app title
Testing
pytest tests/ -v
License
MIT (inherits from Frogmouth)
Release files for tui-md-editor 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tui_md_editor-0.1.0.tar.gz | 10.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tui_md_editor-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.8 MB
Release files / tui_md_editor-0.1.0.tar.gz
| Download URL | tui_md_editor-0.1.0.tar.gz |
|---|---|
| Size | 10.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
967db09b8408a157a6da555e9ea4aa4f93cbae1bd21828f1d9d370194448e9a3
|
|
BLAKE2b-256 checksum How to use checksums |
f14f2b93b2d572c7e3b872d810262977174db55722b593f2657d53f501214c81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / tui_md_editor-0.1.0-py3-none-any.whl
| Download URL | tui_md_editor-0.1.0-py3-none-any.whl |
|---|---|
| Size | 40.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3706ca4cecb697f5ba19806734d2f53222afde9f4c631689f7068de865ca5f38
|
|
BLAKE2b-256 checksum How to use checksums |
8f179b9251d83f3b8c550f835a94a79203a071038eaf9857717e419039248330
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|