KEYNOPE MANUAL / CURRENT RELEASE

Documentation_

Everything required to install, author, design, present, export, and automate a Keynope deck.

01

Install

Keynope supports macOS 14 Sonoma or later on Intel and Apple silicon. For the native editor and automatic updates, install it from the Mac App Store:

Download on the Mac App Store ↗

You can also install the Mac app with Homebrew:

brew tap keynope/keynope
brew install --cask keynope

Upgrade an existing installation with:

brew update
brew upgrade --cask keynope
Use it in a browser

The web editor opens, edits, saves and presents Keynope decks without installing the Mac app.

Build from source

Source builds require Go and Xcode Command Line Tools. From the repository root:

make app
open bin/Keynope.app

This creates the complete windowed application at bin/Keynope.app. Local builds are ad-hoc signed.

02

Your first deck

Open Keynope and choose New for the starter presentation or Open for an existing Markdown deck. New presentations stay in memory as Untitled until you save them, so you can begin designing before choosing a filename.

The workspace combines slide navigation, a visual canvas, contextual ribbon tabs and an inspector. Use the Play control to present, arrow keys or Space to advance, and the Info button whenever you need help.

1Write

Start with ordinary Markdown.

2Shape

Select and position elements visually.

3Present

Use the native second-screen surface.

03

Deck format

A deck remains a readable Markdown file. A line containing --- separates slides. Headings, paragraphs, lists, fenced code, Markdown images and Keynope metadata become selectable slide elements.

<!-- keynope width=160 height=45 -->

# Opening statement

The point you want remembered.

- Evidence one
- Evidence two

---

# Live code

```go
fmt.Println("hello, room")
```

Authored dimensions

The leading keynope width/height metadata records the canvas in which the deck was designed. Presentation surfaces and HTML export preserve these dimensions. Avoid removing it after you have positioned elements.

Images and links

![Architecture](architecture.png)
[Project repository](https://github.com/keynope/keynope)

Imported images and animated GIF frames can be embedded in the deck, keeping it self-contained. Use the editor for placement, cropping, masks, retro conversion, colour scaling, brightness, sharpness, layering and links; Keynope persists those choices as compact metadata.

Generated metadata

Master definitions, layouts, speaker notes, activities, embedded assets, page-number policy, visual properties and exact placement are stored inside comments. They remain invisible to ordinary Markdown viewers. Prefer editing this metadata through Keynope rather than by hand.

04

Visual editor

Keynope’s editor is equally comfortable with mouse and keyboard. Click or Shift-drag to select elements, drag to move them, and double-click text or labelled shapes to edit their content. Contextual ribbon tabs expose only the tools relevant to the current selection.

Create

Insert TrueType text, headings, bullets, code, images, emoji, shapes, connectors and new slides from the Insert tab.

Transform

Move, resize, rotate, crop and mask elements directly on the canvas. Text boxes control wrapping rather than scaling the font.

Style

Choose modern or C64-inspired fonts, gradients, shadows, outlines, opacity, image treatments and retro render styles.

Arrange

Align text inside its box or align the box itself. Group mixed selections, reorder layers and edit individual group members.

Editing and history

Use Cmd-Z and Cmd-Shift-Z for undo and redo. Copy, cut and paste elements with the standard macOS shortcuts. Save is enabled only when the in-memory deck differs from the file on disk.

Slide navigation

Choose slides from the navigator, drag to reorder them, or move selected slides into the separate participant Tabs section. Tab slides are available online without appearing in presentation navigation.

05

Visuals and effects

The Slide inspector controls foreground, background, header colour, typography defaults, background patterns and animated effects. Each slide can inherit its master, override individual properties or explicitly disable them.

Effects

matrixstarsplasmaglitchdigital-snowradarneuralcircuitdata-stormflamewarpscanlinefireworksexplosion

Backgrounds

soft-plasmaauroratopographywavesmeshconstellationribbonsdiagonal-flowblueprint

Text supports modern proportional and monospaced fonts alongside Keynope’s C64-inspired typeface. Images can stay photographic or be rendered as ASCII, blocks, braille or dense glyphs. Gradients, coloured shadows, outlines, transparency and rotation work across the visual system.

06

Master decks

Use the M control to open Master View. A deck has one Base Master and any number of named layouts.

  • Base Master supplies deck-wide graphics, effects, backgrounds, colors, styles, and the default page number.
  • Layouts add fixed elements and editable Title, Subtitle, Body, Code, or Image placeholders.
  • Slides inherit their layout and can override visual properties independently.

Typical workflow

  1. Design shared elements, typography defaults and page numbering in the Base Master.
  2. Create layouts for recurring compositions.
  3. Assign title, subtitle, body, code or image placeholder roles.
  4. Add a slide and choose its layout.
  5. Change layouts later without losing authored content.

When a layout changes, Keynope rebinds matching content by placeholder slot and role. Content without a matching destination is retained as a local slide element.

Page numbers

The page-number control cycles inherit, show and hide. In Master View this controls Base or layout policy; on a slide it controls only that slide.

07

Live activities

Add an activity to any slide from the Activities control. Participants join through keynope.sh/join using a short code or QR code, then stay connected through the presentation.

Poll and prioritise

Use Pulse, Quiz, Fact or Fiction, Questions, Dot Voting and Nominate to collect decisions and reveal results.

Create together

Storm, Gallery Walk, Feedback Wall, Quick Draw and Introduction turn individual input into a shared result.

Form groups

Pair Share, Playing Cards, Prerequisites, The Race and Deducer create balanced groups and private pairing channels.

Run the room

Configure timers and anonymity, monitor participants, pause collection, reveal results, reopen completed work or reset an activity.

An Onboarding activity creates a persistent lobby with presentation following, participant chat, private messages and optional reference tabs. Activity results can remain embedded in the deck after the workshop.

08

Presenting

Use the Play controls to present in the same window or on a connected external display. The editor retains slide navigation, speaker notes, timers, activity controls and other presenter-only tools.

ControlPurpose
Space / →Next page or slide
←Previous page or slide
EscLeave the active presentation or timer
NotesShow editable notes below the canvas
TimerRun locally or broadcast the countdown to participants
Cheat sheetShow a presenter reference without making it part of normal slide navigation

Participant presentation view

When a deck contains Onboarding, joined participants can follow the live slide in their browser. Starting an activity automatically moves their view to that activity; stopping presentation returns it to standby.

09

HTML export

Choose Export to HTML and select a destination through the macOS save dialog. The exported file is standalone and includes navigation, fonts, effects, backgrounds, embedded imagery and the authored deck dimensions.

Open the result directly or serve it from any static host. Export does not modify the source deck.

10

Render API

The public projector accepts Markdown and returns standalone Keynope HTML.

curl --fail-with-body \
  -H 'Content-Type: text/markdown' \
  --data-binary @deck.md \
  https://projector.keynope.sh/ \
  --output deck.html

You can alternatively send JSON:

{"markdown":"# Hello from Keynope"}
MethodPOST
Content typestext/markdown, text/plain, application/json
Maximum input512 KiB
PersistenceNone; temporary files are deleted after rendering
Outputtext/html; charset=utf-8

Relative images cannot be included in a Markdown-only request because the API receives no companion files. Use already-rendered text content or host the finished export with its required assets.

11

Shortcut reference

The authoritative shortcut view is built into Keynope and adapts to the current mode and selection. These are the global essentials.

Space / →Next while presenting
←Previous while presenting
TabSelect the next element
Shift-TabSelect the previous element
EnterEdit text or activate the focused control
EscCommit, cancel or close the current mode
Cmd-SSave
Cmd-ZUndo
Cmd-Shift-ZRedo
DeleteDelete the current selection
12

Troubleshooting

The external presentation does not appear

Confirm the display is connected and use the external-display Play control. macOS display arrangement determines which screen receives the presentation.

The exported layout differs

Keep the leading authored-size metadata in the deck and export with the current release.

An image is missing

Reimport referenced images so Keynope can embed them in the deck. The public renderer receives only the Markdown body and cannot access files on your Mac.

An activity does not open

Check your internet connection, confirm an Onboarding session exists when you want a persistent lobby, and reset the session code if the room has expired.

Need more help?

Ask in Discussions. For reproducible defects, open a GitHub issue with your macOS version, architecture, Keynope version, steps, and a minimal deck.

13

Contribute

Ideas, workflow feedback, presentation anecdotes, documentation improvements, bug reports, and code are welcome. Start broad proposals in Discussions and keep pull requests focused.

make test
make build