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 |
| LaTeX math | $inline$ and $$display$$ formulas typeset with KaTeX as you write |
| 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 tenlingOr download tenling-*-macos-universal.dmg, open it, and drag TenLing into
Applications. Works on Apple silicon and Intel Macs (macOS 10.15+).
The Apple release pipeline requires a Developer ID signature, Apple notarization, and Gatekeeper acceptance before publishing a Mac installer. Homebrew verifies the download's SHA-256 before installing it.
Free iPhone, iPad, and Mac versions have been submitted to Apple and are waiting for review. They are not yet publicly available on the App Store. See Apple distribution for build instructions and the remaining submission requirements.
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.




