Skip to main content

Lightweight GTK4/libadwaita Markdown viewer and editor for Linux

Project description

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 Print
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.

Project details


Download files

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

Source Distribution

marka-1.0.0.tar.gz (39.4 kB view details)

Uploaded Source

Built Distribution

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

marka-1.0.0-py3-none-any.whl (30.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: marka-1.0.0.tar.gz
  • Upload date:
  • Size: 39.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for marka-1.0.0.tar.gz
Algorithm Hash digest
SHA256 59b0713c84030d042aff9c87c9caa3cb05db582f7db61863cf18cfee89632cb8
MD5 20999de5f57df1c1b5a41c94d2b45263
BLAKE2b-256 0a6eb718b725114f993c2ebd836e5915a3ad725f050d0bfc8eba0446e7fa4e84

See more details on using hashes here.

File details

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

File metadata

  • Download URL: marka-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 30.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for marka-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 75604c49dd1a6cae71d12a53a44a2f4083d664ee14d7a037931307d531f8da47
MD5 a8c94bea5961f2e943d4129c7d4b549d
BLAKE2b-256 85062a768a3806fcbf526687e397c7aa281a19d57345c602e194e67ed823daa3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page