Flint: A premium terminal-based Markdown viewer with interactive tables, high-res images, and Obsidian-style callouts.
Project description
🔥 Flint: The Premium Markdown Viewer
Flint is a premium, terminal-based Markdown viewer built with Textual. Designed for speed, aesthetics, and a seamless Obsidian-like experience in your terminal.
📸 Screenshots
Flint with default Obsidian style
Retro style theme showcase
Cyberpunk style theme showcase
Interactive tables rendered as native Textual DataTable widgets
High-resolution image rendering with Terminal Graphics Protocol
Mermaid diagram rendered natively in the terminal
Obsidian-style callouts with automatic icons
✨ Features
- 📊 Interactive Tables: Markdown tables are rendered as interactive
DataTablewidgets with row selection, hover effects, and smooth scrolling. - 🖼️ High-Res Images: Crystal clear image rendering using the Terminal Graphics Protocol (TGP).
- 🧜 Mermaid Diagrams: Full support for Mermaid diagrams (flowcharts, sequence diagrams, etc.) rendered directly in the terminal.
- 📝 Obsidian-Style Callouts: Support for
> [!INFO]and> **Type**callouts with automatic icons and distinct styling. - 🎨 Visual Styles & Themes: Multiple built-in styles (Obsidian, Cyberpunk, Retro, Blueprint, Minimal) and color themes (Gruvbox, Nord, Dracula, etc.).
- ⌨️ Vim-like Navigation: Navigate with
j/k,gg/G,Ctrl+U/Dfor smooth scrolling.
🚀 Installation
Using pip
pip install flint-markdown-viewer
Using pipx (Recommended for CLI tools)
pipx install flint-markdown-viewer
Using uv (Fastest)
# One-time run
uvx --from flint-markdown-viewer flint your-file.md
# Or install globally
uv tool install flint-markdown-viewer
📖 Usage
Simply run flint followed by the path to your Markdown file:
flint your-file.md
Key Bindings
| Key | Action |
|---|---|
q |
Quit |
j / k |
Scroll Down / Up |
g / G |
Scroll to Top / Bottom |
Ctrl+U / Ctrl+D |
Scroll Half Page Up / Down |
Ctrl+P |
Open Command Palette (Switch Styles/Themes) |
🛠️ Configuration
The app follows XDG standards:
- Config Directory:
~/.config/textual-md-viewer/ - Cache Directory:
~/.cache/textual-md-viewer/(images and Mermaid diagrams)
Styles vs Themes
Flint has a two-layer visual customization system:
Themes (Color Schemes): Control the color palette of the app. Examples: gruvbox, nord, dracula, catppuccin. These are built into Textual and affect the overall color scheme across the entire interface.
Styles (Layout & Formatting): Control the visual layout, spacing, borders, typography, and overall aesthetic. Examples: Obsidian, Minimal, Blueprint, Retro, Cyberpunk. These are custom TCSS files in flint/styles/ that define how Markdown elements are displayed.
You can mix and match any theme with any style. Access both via the Command Palette (Ctrl+P).
⚠️ Known Issues
- Initial Render: On first launch, you may need to trigger a mouse move or key press for the content to render properly. This is a known Textual framework issue with async rendering.
- Style Switching: Switching between styles may occasionally require reloading the document to fully apply changes.
📝 Changelog
See CHANGELOG.md for version history and release notes.
🤝 Contributing
Contributions are welcome! Feel free to open an issue or submit a pull request.
📄 License
MIT License. See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flint_markdown_viewer-0.1.2.tar.gz.
File metadata
- Download URL: flint_markdown_viewer-0.1.2.tar.gz
- Upload date:
- Size: 22.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3b03726ed0a875bed9bdb064ec48f2ac12f68a45fdaaf5aa86c42542fc38a3f
|
|
| MD5 |
baf60f02187a2150bb818e2973049236
|
|
| BLAKE2b-256 |
aab02bc83da9a47684957988118e948ad18e8daae66dbc6be8c1df8042df44ed
|
File details
Details for the file flint_markdown_viewer-0.1.2-py3-none-any.whl.
File metadata
- Download URL: flint_markdown_viewer-0.1.2-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac511987687ab642e842c7f24ac0d22639736afb24c90dd706f656fdd9cb007f
|
|
| MD5 |
17b30c3cbceeb10293f1727ed1ffce93
|
|
| BLAKE2b-256 |
4a1884a276393f5e53bc209c37b33a71f4d46963d92ea0afd2b8f4d3007c9e32
|