A build tool to turn markdown into an html presentation and then publish to gh-pages
pip install markdown-to-presentationSet 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 3If 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.htmAcquire 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 buildconsult the markdown-to-presentation push --help to get a full list of
options.