Skip to content

SunCitySolace/Doku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Doku

Doku

A minimalist markdown reader and editor

Key Features

  • Native Windows Integration: Built with PySide6 for a fast, responsive UI that respects system light/dark themes.
  • Dual-Mode Stack: Toggle instantly between a rendered MarkdownReader (powered by QWebEngine) and a raw MarkdownEditor (QPlainTextEdit).
  • Rich Markdown Support: Full GFM support including KaTeX math, task lists, footnotes, and Mermaid diagrams.
  • Smart Zoom & Navigation: Contextual zoom controls in the ToolbarRail and a floating SearchBar for quick navigation.
  • File Handling: Includes a dedicated installer (setup.exe) and custom .ico file associations for .md files.

Tech Stack & Architecture

Doku follows a modular, signal-driven architecture to keep the UI thread unblocked:

  • Frontend: PySide6 (Qt for Python) utilizing a QStackedWidget for view management between the reader and editor.
  • Rendering Engine: A custom MarkdownParser converts text before injecting it into a themed HTML/JS template inside QWebEngineView.
  • Styling: Dynamic CSS generation through a ThemeManager that listens for native Windows color scheme changes via Qt.ColorScheme.
  • Backend: Multi-threaded parsing via QThread (ParseTask) to ensure the interface remains fluid during heavy document loads.

Installation

  1. Download doku_setup.exe from the latest Release.
  2. Run the installer.

Licensing

Doku is proud to be open-source software licensed under the GNU GPL v3. We believe in keeping productivity tools free and accessible for everyone.

Credits & Acknowledgments

  • Icons: This project uses Fluent System Icons by Microsoft Corporation, licensed under the MIT License.
  • Libraries: PySide6, markdown-it-py, KaTeX, and Mermaid.js.