Skip to content

Latest commit

 

History

History
115 lines (82 loc) · 2.35 KB

README.md

File metadata and controls

115 lines (82 loc) · 2.35 KB

pre-commit.ci status

markdown-to-presentation

A build tool to turn markdown into an html presentation and then publish to gh-pages

Installation

pip install markdown-to-presentation

Usage

Set up the following files:

# Theme variables for reveal.js
assets/_theme.scss

# application-specific scss
assets/_app.scss

# copied into build directory
assets/*.png

# contains slides
slides.md

Slides must be delimited by a blank line followed by *** followed by a blank line. When rendered as markdown *** will be a horizontal rule. If you need a horizontal rule in your slides, use --- or ___ instead.

Here's an example slides.md:

# Title slide
## subtitle

***

## first slide

- bullet 1
- bullet 2
- bullet 3

If you need raw html in your slides, use a special rawhtml code block:

```rawhtml
<div>this html will be <em>injected</em> directly</div>
```

A sample makefile which works well with this:

all: run-build

venv: requirements.txt
    rm -rf venv
    virtualenv venv -ppython3
    venv/bin/pip install -rrequirements.txt
    venv/bin/pre-commit install -f --install-hooks

.PHONY: run-build
run-build: venv
    venv/bin/markdown-to-presentation run-build

.PHONY: push
push: venv
    venv/bin/markdown-to-presentation push index.htm build

clean:
    rm -rf .mtp venv build index.htm

Hooking up push to github pages

Acquire a push token which has the public_repo permission.

Use travis encrypt to encrypt your push token as GH_TOKEN=.... You'll need the yaml it spits out to fill out your .travis.yml.

Make a .travis.yml which looks something like this:

install: pip install virtualenv
script: make
after_success: make push
branches:
    except:
        - gh-pages
env:
    global:
        # GH_TOKEN
        - secure: ...

For your make push target, invoke something like this:

.PHONY: push
push: venv
    venv/bin/markdown-to-presentation push index.htm build

consult the markdown-to-presentation push --help to get a full list of options.