Marka
A lightweight, native Linux Markdown viewer and editor built with GTK4 and libadwaita. Renders Markdown in real time with GitHub-style typography, syntax-highlighted code blocks via Pygments, and automatic light/dark theme support.
[Editor pane] | [Live preview pane]
|
# Hello World | <h1>Hello World</h1> (rendered)
|
**bold** text | <b>bold</b> text (rendered)
Features
- Live split-pane preview with GitHub-style CSS
- Syntax highlighting via GtkSourceView 5 (plain-text fallback included)
- Full CommonMark support: tables, task lists, footnotes, fenced code, strikethrough
- Find in document (Ctrl+F)
- Zoom preview (Ctrl+= / Ctrl+-)
- Print preview (Ctrl+P)
- Export rendered document to HTML
- Drag-and-drop file opening
- Recent files history
- Persistent window geometry and last-opened file across sessions
- Respects system light/dark theme via libadwaita
Installation
pip (recommended for developers)
pip install marka
marka
Ubuntu / Debian (PPA)
sudo add-apt-repository ppa:HemanthGangula/marka
sudo apt update
sudo apt install marka
Flatpak
flatpak install flathub io.github.HemanthGangula.Marka
flatpak run io.github.HemanthGangula.Marka
Snap
sudo snap install marka
marka
Manual / from source
git clone https://github.com/HemanthGangula/marka.git
cd marka
# Install system dependencies (Ubuntu 24.04 Noble)
sudo apt install python3-gi gir1.2-gtk-4.0 gir1.2-adw-1 \
gir1.2-webkit-6.0 gir1.2-gtksource-5
# Install Python dependencies
pip install -r requirements.txt
# Run directly
python3 main.py
# Or install via pip in editable mode
pip install -e .
marka
System Requirements
| Component | Minimum |
|---|---|
| Python | 3.10 or later |
| GTK | 4.6 or later (4.10 recommended) |
| libadwaita | 1.x |
| WebKitGTK | 6.0 |
| GtkSourceView | 5 (optional, for editor syntax highlighting) |
| OS | Linux (X11 or Wayland) |
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
| Ctrl+N | New file |
| Ctrl+O | Open file |
| Ctrl+S | Save |
| Ctrl+Shift+S | Save As |
| Ctrl+W | Close window |
| Ctrl+F | Find in preview |
| Ctrl+= | Zoom in preview |
| Ctrl+- | Zoom out preview |
| Ctrl+0 | Reset zoom |
| Ctrl+P | |
| Ctrl+Shift+E | Export to HTML |
| F11 | Toggle fullscreen |
Running Tests
python3 -m unittest discover -s tests -v
Contributing
Bug reports and pull requests are welcome at https://github.com/HemanthGangula/marka
Please open an issue before submitting large changes.
License
MIT License. Copyright (c) 2026 Hemanth. See the LICENSE file for full text.
Metadata
Release files for marka 1.0.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 | |
|---|---|---|---|
| marka-1.0.0.tar.gz | 39.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| marka-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.2 kB
Release files / marka-1.0.0.tar.gz
| Download URL | marka-1.0.0.tar.gz |
|---|---|
| Size | 39.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
59b0713c84030d042aff9c87c9caa3cb05db582f7db61863cf18cfee89632cb8
|
|
BLAKE2b-256 checksum How to use checksums |
0a6eb718b725114f993c2ebd836e5915a3ad725f050d0bfc8eba0446e7fa4e84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / marka-1.0.0-py3-none-any.whl
| Download URL | marka-1.0.0-py3-none-any.whl |
|---|---|
| Size | 30.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
75604c49dd1a6cae71d12a53a44a2f4083d664ee14d7a037931307d531f8da47
|
|
BLAKE2b-256 checksum How to use checksums |
85062a768a3806fcbf526687e397c7aa281a19d57345c602e194e67ed823daa3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|