Jared Winslow2 downloadsPreview docx/xlsx/pptx and 130+ code files. Selectable pptx text, zoom, edit and save, and Word-style margin comments stored as markdown in your vault, on PDFs too.
Read your lecture files inside Obsidian, select and copy the text, and leave margin comments that live in your vault as plain markdown.
.pptx, .docx, .xlsx, .xls, and 130+ code and text formats, with syntax highlighting, zoom and pan.Ctrl+C work on slides. Other preview plugins draw slides to a canvas, which is just pixels.Copy slide grabs one slide; Copy all exports the whole deck with one heading per slide. Speaker notes show under each slide.File-Notes/, so they show up in search, backlinks and sync like any other note.From a release (recommended). Download main.js, manifest.json and styles.css from the latest release into:
<your vault>/.obsidian/plugins/lectern/
Then fully quit and reopen Obsidian, and enable Lectern under Settings → Community plugins. A plugin reload is not enough the first time, because Obsidian only registers new file types at startup.
Set a hotkey. Lectern ships without one so it can't clash with yours. Go to Settings → Hotkeys, search "Lectern: Comment on selection", and bind it. Ctrl+Alt+M is the one the author uses, and the one Word uses for a new comment.
Desktop only. Lectern needs Obsidian 1.14 or later on Windows, macOS or Linux.
From source.
git clone https://github.com/Sqxirts/lectern.git
cd lectern
npm install
npm approve-scripts esbuild # npm blocks postinstall scripts by default
cp .env.example .env.local # set LECTERN_OUT to <vault>/.obsidian/plugins/lectern
npm run build
Without LECTERN_OUT the build goes to ./dist.
| To | Do |
|---|---|
| Comment on a selection | The Comment toolbar button, or the Comment on selection command |
| Comment on a PDF selection | Right-click → Highlight and comment, or the same command |
| Copy one slide / the whole deck | Copy slide / Copy all in the toolbar |
| Zoom / pan | Ctrl+scroll or the toolbar; middle-drag to pan |
| Hide a finished comment | Resolve on the card |
| Edit a text or code file | Edit, then Save in the toolbar |
Settings cover the comment folder, default zoom, speaker notes, showing resolved comments, PDF comments on or off, and per-file-type toggles for when another plugin already handles a format.
A comment card and its sidecar entry look like this:
## Slide 2: "The triad is a way of asking questions, not a checklist"
Likely midterm question. Compare with STRIDE in Reading 3.
Each comment remembers the exact quote plus the text around it. If the file changes, Lectern finds the quote again; if it can't, the card is flagged orphaned instead of disappearing. Details in docs/comments.md.
On Windows only, slides that contain old Windows vector images (EMF/WMF), which browsers can't display, are converted to PNG through PowerShell and the built-in .NET imaging library. Each image is written to a temporary folder in your system temp directory (lectern-emf-*), converted, and the folder is deleted straight away. On macOS and Linux those images show a labelled placeholder instead. Nothing else leaves the vault, and Lectern makes no network requests.
![[x.pdf]]) aren't covered.npm run dev # rebuild on save
npm test # vitest
npm run typecheck
After the first launch you can pick up a rebuild by toggling the plugin off and on. Test fixtures are generated, not committed: python fixtures/make_fixtures.py (needs python-pptx, python-docx, openpyxl).