https://github.com/razee4315/marklite
A minimal, distraction-free markdown editor built with Tauri, React, and TypeScript
https://github.com/razee4315/marklite
dev-tools editor markdown markdown-editor markdown-language md productive productive-tool
Last synced: about 16 hours ago
JSON representation
A minimal, distraction-free markdown editor built with Tauri, React, and TypeScript
- Host: GitHub
- URL: https://github.com/razee4315/marklite
- Owner: Razee4315
- License: other
- Created: 2025-12-31T21:18:33.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-05-29T07:43:39.000Z (2 days ago)
- Last Synced: 2026-05-29T08:13:57.653Z (2 days ago)
- Topics: dev-tools, editor, markdown, markdown-editor, markdown-language, md, productive, productive-tool
- Language: TypeScript
- Homepage:
- Size: 1.29 MB
- Stars: 19
- Watchers: 0
- Forks: 2
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Audit: AUDIT.md
Awesome Lists containing this project
README
MarkLite
A minimal, distraction-free markdown editor — live preview, math, diagrams, and an optional AI assistant. Built with Tauri, React, and TypeScript.
⬇ Download ·
Website ·
Features ·
Contribute
## Why MarkLite?
As a developer, I frequently work with markdown files for documentation, notes, and project READMEs. The frustration of opening `.md` files in Notepad or basic text editors, only to see raw, unformatted text with all the symbols and syntax cluttering the content, inspired me to build MarkLite.
I wanted a simple, lightweight solution that renders markdown beautifully while still giving me quick access to the raw code when I need to edit. No bloated features, no complex setup, just a clean interface that lets me focus on my content.
## Screenshots
**Math, chemistry, diagrams, and code — all rendered live as you type.**
### Four themes
| Dark | Light |
|:----:|:-----:|
|
|
|
| **Paper** | **GitHub** |
|
|
|
### File explorer & command palette
| File explorer | Command palette |
|:-------------:|:---------------:|
|
|
|
## Features
### Writing
- **Clean Interface** — minimal UI that stays out of your way
- **Reader / Code / Split view** — Ctrl+E to toggle, Ctrl+\\ for split with bidirectional scroll sync
- **Focus mode** — dim non-active lines so you can think
- **Typewriter mode** — caret stays vertically centered
- **Formatting toolbar** (toggleable) and shortcuts: Ctrl+B / Ctrl+I / Ctrl+K / Ctrl+/
- **Slash commands** — type `/` at line start for headings, lists, tables, math, mermaid, callouts, and more
- **Auto-pair** brackets, quotes, and code marks; **list/quote continuation** on Enter
- **Tab in tables** moves between cells; auto-creates new rows
- **Find & Replace** (Ctrl+F / Ctrl+H) with regex and match counter
- **Smart paste** — URL → link, rich HTML → markdown, TSV → GFM table
### Preview
- **GitHub Flavored Markdown** with task lists, tables, strikethrough
- **Code blocks** with syntax highlighting and one-click copy
- **Math** via KaTeX (`$inline$`, `$$block$$`) — loaded only when needed
- **Chemistry** via mhchem — `$\ce{2 H2 + O2 -> 2 H2O}$`, ions, isotopes, Kröger-Vink defects
- **Mermaid diagrams** (` ```mermaid `) — flowcharts, sequence, class, state, gantt, ER, mindmaps
- **Image lightbox** — click to zoom; lazy loading
- **Interactive task checkboxes** — toggling writes back to source
- **Heading anchors** with click-to-jump
- **Wikilinks** `[[other-file]]` resolve in the same folder
- **Frontmatter** rendered as an editable Properties card
### AI assistant
- **AI side panel** — open it from the **AI** button next to Export (or `Alt+J` / `⌘J`). A VS Code-style chat docked on the right; content reflows beside it.
- **Ask mode** — chat about the current document: summarize it, find something, ask questions. Answers stream in live.
- **Agent mode** — describe a change in plain language and the AI proposes edits. They appear as an **inline diff in the editor** (green added / red removed) which you **review and accept or reject** — per change, or all at once. Nothing is written until you approve.
- **Selection assist** — select text and press `Alt+J` / `⌘J` to rewrite, shorten, expand, continue, or translate it in place.
- **Bring your own model** — works with any OpenAI-compatible endpoint: OpenAI, Google Gemini (OpenAI-compat), Ollama, llama.cpp, and more. Configure it in **Settings → AI**; your API key is stored in the OS keychain.
### Files & workflow
- **Command palette** (Ctrl+P) — search commands, files, headings, toggles
- **Cheatsheet** (`?`) — every shortcut categorized and searchable
- **Settings modal** (Ctrl+,) — sidebar nav with Appearance / Editor / AI / About
- **New File** (Ctrl+N) and **Save As** (Ctrl+Shift+S)
- **Auto-save** (optional, debounced) with status indicator
- **External-change detection** — reload or keep your version when the file changes outside the app
- **Recent files** on the welcome screen — missing files marked
- **Restore last opened file** on launch
- **File Explorer** for the current folder
- **Outline pane** that follows the cursor
### Customization
- **Four themes** — Dark, Light, Paper, GitHub
- **Five fonts** — Inter, Merriweather, Lora, Source Serif, Fira Sans
- **Three font sizes**
- **WCAG-friendly** — visible focus rings, `prefers-reduced-motion` respected
### Platform
- **Native performance** — built with Tauri
- **Cross-platform** — Windows, macOS, Linux
## Installation
Download the latest release from the [Releases](https://github.com/Razee4315/MarkLite/releases) page.
### Available Formats
- **Windows**: `.msi` installer or `.exe` portable
- **Linux**: `.deb`, `.rpm`, or `.AppImage`
## Development
### Prerequisites
- [Node.js](https://nodejs.org/) (v18+)
- [Bun](https://bun.sh/) (recommended) or npm
- [Rust](https://www.rust-lang.org/tools/install)
### Setup
```bash
# Clone the repository
git clone https://github.com/Razee4315/MarkLite.git
cd MarkLite
# Install dependencies
bun install
# Run in development mode
bun run tauri dev
# Build for production
bun run tauri build
```
## Keyboard Shortcuts
A few essentials — press `?` inside the app for the full searchable list.
| Action | Shortcut |
|--------|----------|
| Command palette | Ctrl+P |
| Cheatsheet | ? |
| Settings | Ctrl+, |
| New file | Ctrl+N |
| Open file | Ctrl+O |
| Save | Ctrl+S |
| Save As | Ctrl+Shift+S |
| Toggle Reader / Code | Ctrl+E |
| Toggle Split view | Ctrl+\\ |
| File explorer / Outline | Ctrl+Shift+E / Ctrl+Shift+O |
| Find / Replace | Ctrl+F / Ctrl+H |
| Bold / Italic / Link | Ctrl+B / Ctrl+I / Ctrl+K |
| Toggle blockquote | Ctrl+/ |
| AI panel / assist | Alt+J (Windows) · ⌘J (macOS/Linux) |
## Tech Stack
- **Frontend**: React, TypeScript, Tailwind CSS
- **Backend**: Rust, Tauri v2
- **Build**: Vite
## Contributing
Contributions are very welcome — code, docs, bug reports, or ideas.
- 🌱 **New here?** Browse [`good first issue`](https://github.com/Razee4315/MarkLite/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) — small, scoped tasks to get started.
- 🗺️ See the [Roadmap](ROADMAP.md) for where MarkLite is headed and where help is wanted.
- 📦 Want to help with distribution? See [`packaging/`](packaging/) (winget, Scoop, and more).
- 📋 Please read the [Contributing Guidelines](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md) before opening a pull request.
Even a ⭐ helps others discover the project.
## Author
**Saqlain Abbas**
Email: saqlainrazee@gmail.com
GitHub: [@Razee4315](https://github.com/Razee4315)
Linkedin: [@saqlain.razee](https://www.linkedin.com/in/saqlainrazee/)
## License
This project is **source available** with restricted commercial use:
- **Personal use** - Free to use, copy, and modify
- **Commercial use** - Requires written permission from the author
See the [LICENSE](LICENSE) file for full details.