ソースコードをハイライトして Keynote に貼り付けられる highlight にはいろんなテーマが同梱されている
vim で TOhtml
して貼り付ける方法を使っていたけど、highlight
コマンドを使うと簡単にソースコードをハイライトして貼り付けられてべんり。
% brew install highlight
highlight コマンドにソースコードを喰わせて出力形式をリッチテキストフォーマットを指定してやると Keynote に貼り付けた時にいい感じになる。
% highlight -O rtf server.js | pbcopy
デフォルトのテーマも悪くないんだけど、--style -s
オプションでテーマを指定することができる。テーマはデフォルトで相当数入っているので気に入るモノがひとつはあると思う。-w
オプションで使えるテーマを確認できる。
% highlight -O rtf -s molokai server.js | pbcopy
現時点で同梱されている全てのテーマでハイライトしたファイルを置いておく。ここから気に入ったモノを選ぶとよいだろう。 https://cdn.rawgit.com/superbrothers/159573a12664ccbee44b/raw/831493f867c0119f6265fe1b9403a86cfce2ced0/highlight-themes.html
このファイルは以下のコマンドから生成した。新しいテーマが追加されているかもしれないので気になる人は手元で実行後にブラウザで http://localhost:5000/ を開くと確認できる。
% cat << EOS > test.js var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, "127.0.0.1"); console.log('Server running at http://127.0.0.1:1337/'); EOS % ls /usr/local/Cellar/highlight/3.22/share/highlight/themes | sed -e 's/.theme//g' | while read THEME; do highlight -s "$THEME" --inline-css --syntax js < <(echo "// theme: ${THEME}\n$(cat test.js | sed -e 's/\\/\\\\/g')"); done | nc -l 5000
// それにしても長いタイトルになってしまった