User Help
Presto is a desktop application that lets you write content in Markdown, pick a template, and generate beautifully typeset PDF documents with one click. No need to learn layout software or manually adjust formatting --- write your content and let Presto handle the rest.
Part 1: Installation
Quick command-line installation for each platform:
brew install --cask brewforge/more/presto# Download the latest version from GitHub Releases
curl -sL https://github.com/mrered/Presto/releases/latest/download/Presto-linux-amd64.tar.gz | tar -xz
./PrestoWindows users: please download the ZIP file directly. See the Windows Installation section below.
For manual installation or if you encounter issues, refer to the detailed instructions for each platform below.
macOS Installation
macOS offers two installation methods --- choose either one.
Minimum system requirement: macOS 11.0 (Big Sur) or later.
Option 1: Install via Homebrew (Recommended)
If your Mac already has Homebrew (a popular package manager) installed, run the following in Terminal:
brew install --cask brewforge/more/prestoAfter installation, open Launchpad. If you see the Presto icon, the installation was successful.
Option 2: Manual Download
- Go to the GitHub Releases page and download the latest
.dmgfile - Double-click to open the DMG file
- Drag the Presto icon into the Applications folder
Important: Bypassing macOS Gatekeeper
When opening Presto for the first time, macOS may display a warning: "Cannot verify the developer" or "Cannot be opened because it cannot be verified for malware."
This is not because there is anything wrong with Presto. The reason is that macOS Gatekeeper requires apps to be certified by Apple (which requires the developer to join the Apple Developer Program at $99/year). Presto currently uses ad-hoc signing (self-signed) --- the functionality and security are exactly the same; it simply hasn't been certified by Apple yet.
Solution (choose one):
Method A: Terminal Command (Recommended, one-time fix)
Open the Terminal app (search for "Terminal" in Launchpad) and paste the following command, then press Enter:
xattr -cr /Applications/Presto.appThis command removes the "unverified" attribute that the system applied to Presto. After running it, you can open Presto normally.
Method B: Right-click to Open
- Find Presto in the Applications folder
- Hold the Control key and click (or right-click) the Presto icon
- Select "Open" from the context menu
- Click "Open" again in the confirmation dialog
Windows Installation
- Go to the GitHub Releases page and download the latest
.zipfile - Right-click the ZIP file and select "Extract All"
- Open the extracted folder and double-click
Presto.exeto run
Note: On first launch, Windows SmartScreen may display a blue warning window. This is similar to the macOS situation --- the app doesn't have a commercial code-signing certificate. Click "More info," then click "Run anyway."
Linux Installation
Go to the GitHub Releases page and download the latest
.tar.gzfileExtract the file:
bashtar -xzf Presto-linux-*.tar.gzRun Presto:
bash./Presto
Docker Deployment (Web)
This section is intended for users with some technical background. Docker deployment provides a web version of Presto, suitable for team sharing or server deployment.
Quick start:
docker compose up -dOr use a pre-built image:
docker run -d -p 8080:8080 \
-v presto-data:/home/presto/.presto \
ghcr.io/mrered/prestoOnce started, visit http://localhost:8080 to use Presto.
HTTPS deployment: Update the domain in Caddyfile to your actual domain, then run:
docker compose -f docker-compose.yml -f docker-compose.tls.yml up -dSecurity features: The container runs with a read-only filesystem by default, uses a non-root user, drops all Linux capabilities (cap_drop: ALL), and binds to localhost only.
Part 2: Basic Usage
Core Workflow
Open Presto --- you'll see a split-pane interface
Write your document content in the left-side editor (using Markdown syntax with syntax highlighting)
Click the dropdown menu at the top to select a template
The right side displays a real-time preview of the typeset result (multi-page SVG rendering with synchronized scrolling between panes)
Press
Cmd+E(macOS) orCtrl+E(Windows/Linux) to export as PDF
YAML Front Matter
Frontmatter is the metadata section at the very top of your document, enclosed by ---. It tells the template the basic information about your document.
- The
templatefield is used for automatic template matching --- if you specify a template name in the frontmatter, Presto will automatically select it - Template-specific fields (such as title, author, date, etc.) are defined by each template. Refer to the template documentation for supported fields
Here is a frontmatter example for the gongwen (official document) template:
---
template: gongwen
title: Notice on Conducting Safety Inspections
author: Administrative Office
date: "2025-03-15"
signature: true
---Built-in Templates
Presto comes with two built-in templates, ready to use after installation:
- gongwen --- Official document template following the GB/T 9704-2012 style, suitable for notices, reports, correspondence, and other formal documents
- jiaoan-shicao --- Hands-on lesson plan table template, suitable for teaching plans, lab reports, and other tabular documents
Part 3: Template Management
Installing Templates
Presto supports 5 ways to install new templates:
- Template Store --- Open Settings > Template Store, browse available templates, and install with one click
- GitHub Search --- Search GitHub for repositories with the
presto-templatetopic, find a template you like, and follow the repository instructions to install - ZIP File Import --- Open Settings > Template Management > Import from ZIP, and select a downloaded template ZIP file
- Drag and Drop ZIP --- Drag a template ZIP file directly into the Presto window for automatic detection and installation
- Deep Link --- Click a link in the
presto://install/{template-name}format (usually found on a webpage), and Presto will automatically open and install the corresponding template
Managing Installed Templates
Open Settings > Template Management to view all installed templates. Here you can uninstall templates you no longer need or rename templates.
Community Templates
In addition to official templates, Presto supports templates created by community developers. Before using community templates, you need to enable the "Community Templates" toggle in Settings.
Security note: Community templates are provided by third-party developers, and Presto cannot guarantee their safety. It is recommended to only install templates from trusted sources and pay attention to the trust level indicator of each template.
Part 4: Advanced Features
Batch Conversion
When you have multiple documents to convert, there's no need to process them one by one:
- Drag multiple Markdown files or a ZIP archive into Presto
- Presto will automatically group files based on the
templatefield in each file's frontmatter - You can
Cmd+click(macOS) orCtrl+click(Windows) to select multiple files, useShift+clickfor range selection, or drag to rearrange groups - After clicking convert, Presto processes files concurrently (3 parallel workers). Once complete, you can download each PDF individually or as a ZIP archive
Drag and Drop Support
Presto supports dragging files directly into the window:
- Supported file formats:
.md,.markdown,.txt,.zip - Dragging a single file --- opens it in the editor
- Dragging multiple files --- enters batch conversion mode
- Dragging a ZIP file --- auto-detects content: if it's a template, it installs it; if it contains documents, it extracts them and enters batch conversion
Auto Update
Presto supports in-app update checking: open Settings > About > Check for Updates.
When a new version is found, the update process varies by platform:
- macOS --- Downloads the new DMG and replaces automatically
- Windows --- Downloads the update package and replaces via batch script
- Linux --- Downloads the new version and overwrites the installation
Note: Development builds (dev) will not receive update notifications.
Part 5: Keyboard Shortcuts
| Shortcut (macOS / Windows) | Function |
|---|---|
Cmd+O / Ctrl+O | Open file |
Cmd+E / Ctrl+E | Export PDF |
Cmd+, / Ctrl+, | Open settings |
Cmd+Shift+T / Ctrl+Shift+T | Template manager |
Cmd+F / Ctrl+F | Search in editor |
Cmd+Z / Ctrl+Z | Undo |
Cmd+M / Ctrl+M | Minimize window |
Part 6: FAQ
Installation Issues
macOS says "Cannot verify the developer"
- Symptom: A security warning appears when double-clicking to open Presto
- Cause: The app uses ad-hoc signing and hasn't been certified by Apple
- Solution: Run
xattr -cr /Applications/Presto.appin Terminal, or right-click the app and select "Open." See Bypassing macOS Gatekeeper above for details
Windows SmartScreen blocks the app
- Symptom: A blue warning window appears on first launch
- Cause: The app doesn't have a commercial code-signing certificate
- Solution: Click "More info," then click "Run anyway"
Usage Issues
Images not displaying
- Symptom: Image areas are blank in the preview or exported PDF
- Cause: Incorrect image path
- Solution:
- If you opened a
.mdfile withCmd+O, use relative paths for images - If you pasted content directly into the editor, use absolute paths for images
- If you opened a
Preview area is blank
- Symptom: The right-side preview area shows nothing
- Cause: No template selected, or frontmatter format is incorrect
- Solution:
- Check that a template is selected at the top
- Check that frontmatter is properly enclosed with
---and the YAML syntax is correct (note: a space is required after colons)
PDF export fails
- Symptom: No file is generated or an error occurs after clicking export
- Cause: Template not installed correctly, or Markdown content has syntax issues
- Solution:
- Confirm the template is installed in Settings > Template Management
- Check that the Markdown syntax is correct
Template Issues
Installation fails with "no binary found"
- Symptom: Error when installing a template
- Cause: The template doesn't provide a binary for your current OS/architecture
- Solution: Contact the template author and request support for your platform
Installation fails with "SHA256 mismatch"
- Symptom: Checksum verification fails during template installation
- Cause: The downloaded binary doesn't match the expected checksum --- the file may have been tampered with or the download was incomplete
- Solution: Try downloading again; if it still fails, contact the template author for confirmation
Font missing warning
- Symptom: A warning about a missing font appears during conversion
- Cause: The template requires a specific font that is not installed on your system
- Solution: Download and install the required font as indicated in the warning message
Conversion timeout
- Symptom: The conversion process hangs or times out with an error
- Cause: The document is too long or the template processing logic is complex
- Solution: Try splitting the document into shorter sections and converting them separately
Size Limits
- Maximum single Markdown file size: 10 MB
- Maximum ZIP upload size: 100 MB
