Last active
June 29, 2024 17:38
-
-
Save lambdamusic/e3c145fc1724cadc8c0120e20f2eef9f to your computer and use it in GitHub Desktop.
Apple Keynote: export presenter notes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- HOWTO: | |
-- after saving it, open with Script Editor (default) and run it | |
-- PREREQUISITES: | |
-- make sure your Keynote presentation is open in the background | |
-- AFTER EXPORT: | |
-- if you can't open the file due to encoding errors, open with Sublime (or another a text editor) and then "File / Save with encoding / UTF8" | |
tell application "Keynote" | |
activate | |
-- open (choose file) | |
tell front document | |
-- Get the name of the presentation. | |
set thePresentationName to name | |
-- Retrieve the titles of all slides. | |
set theTitles to object text of default title item of every slide | |
-- Retrieve the presenter notes for all slides. | |
set theNotes to presenter notes of every slide | |
end tell | |
end tell | |
set presenterNotes to "" | |
repeat with a from 1 to length of theTitles | |
-- skip slides with empty notes | |
if not (item a of theNotes) = "" then | |
set presenterNotes to presenterNotes & "#### Slide " & a & ": " & item a of theTitles & return & return | |
set presenterNotes to presenterNotes & "##### Presenter Notes: " & return & item a of theNotes & return & return | |
end if | |
end repeat | |
set the clipboard to presenterNotes | |
do shell script "pbpaste > ~/Desktop/keynote-notes-" & quoted form of thePresentationName & ".md" | |
-- based on http://apple.stackexchange.com/questions/136118/how-to-print-full-presenter-notes-without-slides-in-keynote |
Is there a way to exclude skipped slides?
Just add whose skipped is false
at the end of the two lines that retrieve the titles and the presenter notes
set theTitles to object text of default title item of every slide whose skipped is false
set theNotes to presenter notes of every slide whose skipped is false
Thank you, so useful
Used it today with Keynote 14 and Ventura. Thanks again.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For anyone who doe not want "skipped" slides to appear in the export, here is a version that accounts for that:
https://gist.github.com/alanzchen/0313642a28cee06504baaedfaad5e73f