docs/src/features/speaker-notes.md
Starting on version 0.10.0, presenterm allows presentations to define speaker notes. The way this works is:
--publish-speaker-notes parameter. This will be the main instance in
which you will present like you usually do.--listen-speaker-notes parameter. This instance will only display
speaker notes in the presentation and will automatically change slides whenever the main instance does so.For example:
# Start the main instance
presenterm demo.md --publish-speaker-notes
# In another shell: start the speaker notes instance
presenterm demo.md --listen-speaker-notes
See the speaker notes example for more information.
In order to define speaker notes you can use the speaker_notes comment command:
Normal text
<!-- speaker_note: this is a speaker note -->
More text
When running this two instance setup, the main one will show "normal text" and "more text", whereas the second one will only show "this is a speaker note" on that slide.
You can use multiline speaker notes by using the appropriate YAML syntax:
<!--
speaker_note: |
something
something else
-->
On Linux and Windows, you can run multiple instances in publish mode and multiple instances in listen mode at the same time. Each instance will only listen to events for the presentation it was started on.
On Mac this is not supported and only a single listener can be used at a time.
You can use the speaker_notes.always_publish key in your config file to always publish speaker notes. This means you
will only ever need to use --listen-speaker-notes and you will never need to use --publish-speaker-notes:
speaker_notes:
always_publish: true
This uses UDP sockets on localhost to communicate between instances. The main instance sends events every time a slide is shown and the listener instances listen to them and displays the speaker notes for that specific slide.