Outline in · slides out

Talk·Weaver

Write your talk as an outline. Present it as polished slides.

Free and open source (MIT) · no account · your talks stay on your computer until you choose to publish them.

TalkWeaver with the sample talk Ten years of public bike hire open on the Plain tab: the slide outline in the sidebar, the talk text in the middle with a bike icon on the title What riders ask for, a list of four rows with icons shown as pictures, and a quotation, and slide previews on the right. The margin beside the text reads Talk, Section 1, Slide 3 Icon list and Slide 4 Quote.
The Plain tab. The layout lines and slide ids are hidden, and the margin names each slide and its layout. The Markdown tab shows the same file.

What TalkWeaver does

TalkWeaver is a desktop app for people who give talks. You write the talk as a Markdown outline, and every heading becomes a slide as you type. Each slide gets a designed layout, which you can change from the keyboard. When you present, you have a presenter view with notes and a clock, a pen, live polls and reactions for the room, and a venue screen for computers you cannot plug into. Afterwards you can record, transcribe and publish a handout from the same outline.

Features

All features on one page

What TalkWeaver does differently

A talk in TalkWeaver is a text outline in a folder, and the slides, the handout and the presenter view are made from it. You do not position images, because the layout places them. You can search the slides of every talk at once, reuse a slide and see where it is used, run polls and record from inside the app, and share a talk as a single HTML file.

What TalkWeaver does differently

More control while you present

A link written on a line of its own as [QR: https://…] becomes a QR code on the slide, and a link typed into an Instant slide during the talk is shown with its own QR code. The first and last slides are made from the talk’s metadata. A countdown or a break timer is a slide you write in the outline or put on screen on the spot, and Share › Handout builds a handout page from the outline without publishing it.

Presenting: QR codes, instant slides, countdowns and the handout page

See an example handout, built from the sample talk shown on this page.

The example is the sample talk exported with Share › HTML presentation. It is one HTML file of about 5.6 MB that opens in any browser and made no network requests when tested. The arrow keys, Space, Home and End move between slides, Overview lists the slides with a search box, and the charts, pictures and the QR code are drawn on the slides. The embedded page is interactive once you click Interact, and Open Presenter View opens a presenter window with a clock.

See an example HTML export · Download the file from GitHub

Tools

Three tool windows inside TalkWeaver, and companion apps that work with the same files.

All tools

Each example shows the lines written in the outline on the left and the slide TalkWeaver makes from them on the right. All six come from one sample talk, Ten years of public bike hire.

A list with icons

Each item names its icon with {icon=lucide:…} at the end of the line, and {iconlist} under the heading turns the list into rows of icons. An item with no icon named gets none. Insert › Icon opens the icon picker.

### What riders ask for
{iconlist}{id=asks}

- Bikes that are there when I arrive {icon=lucide:bike}
- A safe lane for the whole trip {icon=lucide:route}
- A price I can work out in advance {icon=lucide:pound-sterling}
- A dock near the door {icon=lucide:map-pin}
- Help when something breaks {icon=lucide:wrench}
A slide titled What riders ask for with five rows, each with a line icon at its left: a bicycle, a winding route, a pound sign, a map pin and a spanner, beside the lines Bikes that are there when I arrive, A safe lane for the whole trip, A price I can work out in advance, A dock near the door and Help when something breaks.

A list with logos

{logolist} shows a logo beside each name. TalkWeaver finds the logo from the name: it knows well-known products. A name it does not know gets a grey chip with its first letter instead, and you cannot give it a logo file.

### What the analysis used
{logolist}{id=tools}

- OpenStreetMap
- Python
- GitHub
- Slack
A slide titled What the analysis used with four rows, each with a blue logo at its left: the OpenStreetMap magnifying glass, the Python snakes, the GitHub cat and the Slack hash, beside the names OpenStreetMap, Python, GitHub and Slack.

A chart from a list of values

A list of label: value lines under {chart=line} becomes a line chart. The line above it is an ordinary paragraph and appears as a note beside the chart.

### Trips have grown every year since 2016
{id=growth}

Steepest rises: 2018, the station opens; 2022, e-bikes arrive.

{chart=line}

- 2016: 0.4
- 2017: 0.7
- 2018: 1.2
- 2019: 1.5
- 2020: 1.3
- 2021: 1.8
- 2022: 2.4
- 2023: 2.7
- 2024: 2.9
- 2025: 3.1
A slide titled Trips have grown every year since 2016, with a note reading Steepest rises: 2018, the station opens; 2022, e-bikes arrive, and a green line chart of ten yearly values from 0.4 in 2016 to 3.1 in 2025.

A photo gallery

Each picture is one line with its caption in quotation marks. {image-grid} lays the pictures out, and no size or position is written.

### Three kinds of station
{image-grid}{id=gallery-three}

![Row of hire bikes at a street station in Taipei](assets/station-taipei.jpg "Taipei: a long row beside the footpath")
![Docking stations on a cobbled square in Paris](assets/station-paris.jpg "Paris: docks on the square")
![Hire bikes on a pavement plaza in Milton Keynes](assets/station-milton-keynes.jpg "Milton Keynes: bays by the transport hub")
A slide titled Three kinds of station with three photographs in one row, each in a window frame with a caption: Taipei, a long row beside the footpath; Paris, docks on the square; and Milton Keynes, bays by the transport hub.

A QR code from one line

A link on a line of its own, written as [QR: link | label], becomes a QR code in the corner of the slide, with the address under it.

### Take the survey
{id=survey}

Tell us where the next ten stations should go.

[QR: https://example.org/bike-hire/survey | Station survey]
A slide titled Take the survey with the line Tell us where the next ten stations should go and, in the bottom-left corner, a QR code with the address example.org/bike-hire/survey under it.

Big numbers

{stats} turns lines of number · label into large figures in a row.

### Three numbers to remember
{stats}{id=numbers}

- 3.1m · trips in 2025
- 412 · bikes in service
- 7 min · median trip time
A slide titled Three numbers to remember with three large green figures in a row: 3.1m trips in 2025, 412 bikes in service and 7 min median trip time.

New in 0.42

  • Browse vaults by folder or as a gallery of title slides, with details available when you need them.
  • Keep candidate slides and visuals in the Slide Scratchpad, or set slides aside and bring them back later.
  • Search slide contents, see thumbnails appear progressively, and move around the slide grid.
  • Interact with embedded web pages while presenting and save views on a Mac.

Also in 0.41

  • Give a session pre-work and post-work. Each is written in a work file in your vault, and Plan a run attaches the files to a session.
  • Publish three pages for a Run: the handout, a pre-work page and a post-work page. The answers come back to the Run page in Sessions.
  • Every slide layout is restyled. The default title is now the index tab, so a deck that does not set a title look changes appearance when you upgrade.
  • Choose the new tab-strip or intro-then-none title look for a deck.
  • Undo after a save is one step, and the slide ids stay.
  • Find images beside the editor with ⌘⇧I: the image drawer has three tabs: SlideWell, PowerPoint Imports and TalkWeaver Vaults. The last finds pictures already in your vaults, without SlideWell. ⌘↵ or a drag puts a picture at the caret.
  • Reuse a slide from an old PowerPoint, from the drawer’s PowerPoint Imports tab, as an editable slide or as a picture.

Everything that is new

Download TalkWeaver

TalkWeaver runs on Macs with Apple Silicon and on 64-bit Windows. It is free, and there is nothing to sign up for. On Windows, publishing and going live with a real Cloudflare account has not been tested.