Markdown, quietly.
A calm desktop app for writing, reading, and presenting Markdown.
Your files stay plain .md — open them anywhere.
Install · Features · Screenshots · Shortcuts · Contributing
Most Markdown tools force a choice: a heavy knowledge base, a split source/preview pane, or a paid single-purpose editor.
TenLing is for people who just want to open a file and write.
- What you see is what you write — format headings, lists, tasks, and tables without staring at syntax
- One file, two jobs — the same document becomes slides when you present
- Your files, your folder — portable
.mdfiles on disk, no vault lock-in - Light on your machine — uses the system web view instead of shipping a whole browser
| Visual editing | Bold, italic, headings, lists, tasks, quotes, code, tables, images, and links from the toolbar or shortcuts |
| Slash commands | Type / for a Notion-style menu of blocks — headings, lists, tables, and more |
| Presentation mode | Turn H1 and H2 headings into slides — no separate deck to maintain |
| Outline & files | Jump sections from the outline; open a folder and browse Markdown nearby |
| Find & replace | Search the open document quickly (⌘F / Ctrl+F) |
| Export | Save as HTML or PDF; copy as HTML when you need it elsewhere |
| Light & dark | Follow the system appearance, or pick light or dark yourself |
| Auto-updates | Get new versions signed from GitHub Releases (see Updating) |
Light and dark themes
Present mode — slides generated from your headings
Start fresh, open a file, or open a folder
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/SihanTeng/tenling/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/SihanTeng/tenling/main/install.ps1 | iexThe scripts download the latest GitHub Release for your platform (DMG → Applications, AppImage → ~/.local/bin/tenling, MSI → Windows Installer). Pin a version with TENLING_VERSION=v0.3.0.
Download a package from the Releases page.
Installer files use a single naming scheme:
tenling-{version}-{os}-{arch}.{ext}
| File | Platform |
|---|---|
tenling-*-macos-universal.dmg |
macOS (Apple silicon + Intel) |
tenling-*-linux-x64.AppImage |
Linux (portable) |
tenling-*-linux-x64.deb |
Debian / Ubuntu |
tenling-*-linux-x64.rpm |
Fedora / RHEL |
tenling-*-windows-x64.msi |
Windows |
(Also on each release: tiny .sig files and latest.json for automatic updates — not installers.)
Homebrew (recommended):
brew tap SihanTeng/tenling
brew install --cask tenlingIf the tap is not yet mirrored, use this repo directly:
brew tap SihanTeng/tenling https://github.com/SihanTeng/tenling
brew install --cask tenlingOr download tenling-*-macos-universal.dmg, open it, and drag TenLing into
Applications. Works on Apple silicon and Intel Macs (macOS 10.15+).
If macOS blocks an unsigned build: System Settings → Privacy & Security → Open Anyway.
Debian / Ubuntu (APT repo, no account):
echo "deb [trusted=yes] https://sihanteng.github.io/tenling/apt ./" | sudo tee /etc/apt/sources.list.d/tenling.list
sudo apt update
sudo apt install tenlingFedora (COPR — after you enable the project):
sudo dnf copr enable <your-fedora-user>/tenling
sudo dnf install tenlingFedora / RHEL (static DNF repo, no account):
sudo tee /etc/yum.repos.d/tenling.repo <<'EOF'
[tenling]
name=TenLing
baseurl=https://sihanteng.github.io/tenling/rpm
enabled=1
gpgcheck=0
EOF
sudo dnf install tenlingArch (AUR):
yay -S tenling-binOne-off packages from Releases:
# Debian / Ubuntu
sudo apt install ./tenling-*-linux-x64.deb
# Fedora / RHEL
sudo dnf install ./tenling-*-linux-x64.rpm
# Portable AppImage
chmod +x tenling-*-linux-x64.AppImage && ./tenling-*-linux-x64.AppImageChocolatey:
choco install tenlingOr download tenling-*-windows-x64.msi and run it. If WebView2 is missing, the
installer can fetch it for you.
If SmartScreen warns about an unsigned build, choose More info → Run anyway after you have verified the download came from this repository’s Releases page.
Package-manager coverage (Homebrew, APT, DNF/COPR, AUR, Chocolatey) is documented in docs/distribution.md.
- Open TenLing
- Choose New Document, Open File…, or Open Folder…
- Write with the toolbar, or use shortcuts below
- Press ⌘⇧P (Mac) or Ctrl+Shift+P (Windows/Linux) to present
Your document is a normal Markdown file. Save it anywhere; open it later in TenLing or any other editor.
| Action | macOS | Windows / Linux |
|---|---|---|
| New document | ⌘N |
Ctrl+N |
| Open | ⌘O |
Ctrl+O |
| Save | ⌘S |
Ctrl+S |
| Save as | ⌘⇧S |
Ctrl+Shift+S |
| Find | ⌘F |
Ctrl+F |
| Present | ⌘⇧P |
Ctrl+Shift+P |
| Exit present | Esc |
Esc |
| Next / previous slide | → / ← or Space |
same |
Formatting shortcuts (bold, italic, and so on) follow the usual platform conventions while the editor is focused.
TenLing checks for updates when it launches. You can also use File → Check for Updates….
| Install method | How updates arrive |
|---|---|
| macOS (DMG or Homebrew), Windows (MSI / Chocolatey), Linux (AppImage) | In-app, signed download from GitHub Releases |
| Linux APT / static DNF / COPR | apt / dnf upgrade tenling |
AUR (tenling-bin) |
yay -Syu (rebuilds from new AppImage) |
Bug reports, ideas, and pull requests are welcome.
- Please read the Code of Conduct before participating
- Open an issue for bugs or feature ideas
- Prefer small, focused PRs with a short description of why
Requirements: Bun, Rust, and the Tauri prerequisites for your OS.
bun install
bun run dev # desktop app
# or
bun run dev:web # UI only in the browserUseful checks:
bun run test
bun run lint
bun run typecheckbun run version bumps the version, tags, and triggers the Release workflow
(installers, name normalize, OTA signatures, package managers).
Secrets & variables (single registry): .github/SECRETS.md
Distribution how-tos: docs/distribution.md
This project follows the Contributor Covenant Code of Conduct. By participating, you agree to uphold it.
Built with Tauri, TipTap, React, and Remotion for presentation slides.
TenLing — made for people who write in Markdown and want a quieter desktop.




