TAAFT
Free mode
100% free
Freemium
Free Trial
Deals

BaseMax / qt-markdown-knowledge-base

A powerful desktop GUI application for managing a local Markdown-based knowledge base. Built with Python and PyQt5. Local-first Markdown knowledge base with search, tags, and previews. Desktop app built with Python and PyQt5.

0 0 Language: Python License: MIT Updated: 3mo ago

README

Qt Markdown Knowledge Base

A powerful desktop GUI application for managing a local Markdown-based knowledge base. Built with Python and PyQt5.

License

Features

  • ๐Ÿ“ Folder Indexing - Automatically indexes all markdown files in your knowledge base
  • ๐Ÿ” Full-Text Search - Search across all documents by title, content, or tags
  • ๐Ÿท๏ธ Tag Support - Organize documents with hashtags (#tag)
  • ๐Ÿ”— Backlinks - Track wiki-style links ([[Document Name]]) between documents
  • ๐Ÿ‘๏ธ Live Preview - Real-time HTML preview of your markdown
  • ๐Ÿ“ Syntax Highlighting - Beautiful markdown syntax highlighting in the editor
  • ๐ŸŒ“ Dark Mode - Easy on the eyes with dark mode support
  • ๐Ÿ“ค Export - Export documents to HTML or PDF
  • ๐Ÿ’พ Auto-Save - Automatic saving every 30 seconds
  • ๐ŸŽจ Clean Interface - Modern Qt-based user interface

Installation

Prerequisites

  • Python 3.7 or higher
  • pip (Python package installer)

Setup

  1. Clone the repository:

    git clone https://github.com/BaseMax/qt-markdown-knowledge-base.git
    cd qt-markdown-knowledge-base
  2. Install dependencies:

    pip install -r requirements.txt
  3. (Optional) For PDF export, install wkhtmltopdf:

    • Windows: Download from https://wkhtmltopdf.org/downloads.html
    • macOS: brew install wkhtmltopdf
    • Linux: sudo apt-get install wkhtmltopdf

Usage

Run the application:

python main.py

Getting Started

  1. Select Your Knowledge Base Folder

    • On first run, the app creates a default folder at ~/MarkdownKB
    • Use File > Open Folder to select a different location
  2. Create a New Document

    • Click New or use Ctrl+N (Cmd+N on macOS)
    • Enter a filename (.md extension is added automatically)
  3. Write in Markdown

    • Use standard markdown syntax
    • Add tags with #tag syntax
    • Link to other documents with [[Document Name]]
  4. Search

    • Use the search bar to find documents by title, content, or tags
    • Results update in real-time
  5. View Backlinks

    • Switch to the "Backlinks" tab to see which documents link to the current one
  6. Export

    • Use File > Export as HTML or File > Export as PDF

Keyboard Shortcuts

  • Ctrl+N / Cmd+N - New Document
  • Ctrl+O / Cmd+O - Open Folder
  • Ctrl+S / Cmd+S - Save Document
  • Ctrl+Q / Cmd+Q - Quit
  • F5 - Refresh Index

Project Structure

qt-markdown-knowledge-base/
โ”œโ”€โ”€ main.py           # Main application entry point
โ”œโ”€โ”€ models.py         # Data models (Document, KnowledgeBase)
โ”œโ”€โ”€ editor.py         # Markdown editor with syntax highlighting
โ”œโ”€โ”€ renderer.py       # Markdown rendering and export
โ”œโ”€โ”€ requirements.txt  # Python dependencies
โ”œโ”€โ”€ README.md         # This file
โ””โ”€โ”€ LICENSE           # MIT License

Markdown Syntax Support

  • Headers: # H1, ## H2, ### H3, etc.
  • Bold: **bold**
  • Italic: *italic*
  • Code: `inline code`
  • Code blocks: ```language ... ```
  • Links: [text](url)
  • Wiki Links: [[Document Name]]
  • Tags: #tag
  • Lists: - item or 1. item
  • Blockquotes: > quote
  • Tables: Standard markdown tables
  • And more!

Configuration

Settings are automatically saved and include:

  • Knowledge base folder location
  • Dark mode preference
  • Window size and position

Settings are stored in:

  • Windows: %APPDATA%/MarkdownKB/KnowledgeBase.ini
  • macOS: ~/Library/Preferences/com.MarkdownKB.KnowledgeBase.plist
  • Linux: ~/.config/MarkdownKB/KnowledgeBase.conf

Development

Running Tests

Currently, this project focuses on functionality. Tests can be added using pytest:

pip install pytest
pytest

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Max Base - GitHub

Acknowledgments

0 AIs selected
Clear selection
#
Name
Task