Skip to content

Instantly share code, notes, and snippets.

@jimbojsb
Created January 18, 2012 03:52
Show Gist options
  • Save jimbojsb/1630790 to your computer and use it in GitHub Desktop.
Save jimbojsb/1630790 to your computer and use it in GitHub Desktop.
Code highlighting for Keynote presentations

Step 0:

Get Homebrew installed on your mac if you don't already have it

Step 1:

Install highlight. "brew install highlight". (This brings down Lua and Boost as well)

Step 2:

Highlight your source. "highlight -O rtf myfile.php | pbcopy". This will highlight the source code in RTF format and copy the result of that operation to your Mac's clipboard.

Step 3:

Paste into your slide in Keynote. Keynote will create a new text box with your highlighted code. You can adjust the width as needed, and adjust the font size with cmd+ and cmd-

@rkettelerij
Copy link

rkettelerij commented May 2, 2017

This is a real gem! Thanks for sharing.

Tip: if you have some code on your clipboard and want it highlighted, enter: pbpaste | highlight -O rtf --syntax=groovy | pbcopy (replace syntax=groovy with your language of choice)

@xiaoronglv
Copy link

xiaoronglv commented Aug 23, 2017

why are background color missed ?

image

this snippet is generate by this commmand

export PATH=$PATH:/usr/local/bin
pbpaste | highlight -O rtf --syntax {query} --font-size 14 --font Inconsolata --style zellner --inline-css | pbcopy

@sfletche
Copy link

Any solutions for highlighting jsx code?

@nitish24p
Copy link

The following works for VSCODE.. add the following in your keybindings.json

    {
      "command": "editor.action.clipboardCopyWithSyntaxHighlightingAction",
      "key": "shift+cmd+c"
    }

Now any bit of code you want to copy do a cmd + shift + c.
Paste this onto a text editor like TextEdit for mac. Now copy the same code from textEdit and paste onto keynote..

@EdgarOrtegaRamirez
Copy link

My solution is to use Vim with vim-polyglot installed for syntax highlight

  1. Open the file with the code on Vim
  2. Use vertical selection (Option+Command + Left Click) on Terminal to select the part of the code I want to put into Keynote.
  3. Pasted the copied content into a page in Keynote, the content is already formatted
  4. You can customize the formatting even further on Keynote

Notes:

  • point 2 works on iTerm as well, but you have to enable the option to copy text with styles.
    Prefs > Advanced > Copy to pasteboard on selection includes color and font style.
  • The background color of your terminal is also copied, use Keynote to remove the background color. see this image

@javadba
Copy link

javadba commented Oct 12, 2018

I would like to reduce the inter-line spacing : can either highlight or pygmentize handle that?

@LeeYunhang
Copy link

It seems does not support js. :(

@taizilongxu
Copy link

👍

@PaulRBerg
Copy link

Any plans to add support for --syntax=solidity?

@iknownothing
Copy link

This is really helpful, thanks a lot. However, I can not get background color working, with canvas setting. Any suggestion?

@christoph-daehne
Copy link

Very nice, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment