Convert markdown to keynote
Clone or download
Latest commit f74e697 Feb 14, 2018

md2key Build Status

Convert your markdown to keynote.


gem install md2key


  1. Create a keynote document
  2. Create a first slide as a cover slide
  3. Create a second slide to choose a slide layout
  4. Then execute md2key

Advanced Usage

  1. Open master slide editor
  2. Name "cover", "h1", "h2" ... "h5" to master slides
  3. They will be used for the first slide, and other slides with #, ## ... #####


Basic example

The slides in the movie can be generated with following markdown.
You can separate slides with --- just for readability.

# The presentation

## Hello world
- I'm takashi kokubun
- This is a pen
  - Nested item is available

## How are you?
- I'm fine thank you

Insert image

# image slide

- This is an example
- You can insert an image


Insert source code

If you have highlight command, you can insert syntax-highlighted source code.
If you don't have it, execute brew install highlight.

# ActiveRecord::Precount

Tweet.all.precount(:favorites).each do |tweet|
  p tweet.favorites.count
# SELECT `tweets`.* FROM `tweets`
# SELECT COUNT(`favorites`.`tweet_id`), `favorites`.`tweet_id` FROM `favorites` ...

Insert table

## table

| a | b | c |
| 1 | 2 | 3 |

Insert flowchart & sequence diagram

## flowchart & sequence diagram slide

    Alice->Bob: Hello Bob, how are you?
    Note right of Bob: Bob thinks
    Bob-->Alice: I am good thanks!
    Bob-->John the Long: How about you John?
    Bob-->Alice: Checking with John...
    Alice->John the Long: Yes... John, how are you?
    John the Long-->Alice: Better then you!

Insert presenter note

# Keynote Speech

- OMG! I'm keynoting! :fearful:

^ Remember, what would Freddie Mercury do? Yes, I'm Freddie! We are the champions!!

Configure master slide by header level (experimental)

You can change master slide by header level if you have .md2key.

See #32 for details.

Creating your own template

Follow the following steps:

  1. Open keynote application.
  2. Create empty presentation.
  3. Add two master slides (required) to the empty presentation:
  • First slide is the cover.
  • Second slide is the layout.


You can start to modify and learn from assets/default.key.

Important tips

In order to make md2key replaces the texts correctly you have to select Title and Body from the master template.


MIT License