Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jeremyfix/reveal_pandoc_slides
Template for building up reveal.js slides from md files with pandoc
https://github.com/jeremyfix/reveal_pandoc_slides
Last synced: 5 days ago
JSON representation
Template for building up reveal.js slides from md files with pandoc
- Host: GitHub
- URL: https://github.com/jeremyfix/reveal_pandoc_slides
- Owner: jeremyfix
- License: gpl-3.0
- Created: 2020-06-18T14:06:58.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-10-31T07:57:05.000Z (about 1 year ago)
- Last Synced: 2023-10-31T08:40:33.156Z (about 1 year ago)
- Language: HTML
- Homepage:
- Size: 852 KB
- Stars: 0
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Lecture slides with pandoc + reveal.js + markdown
## Installation
You need a recent version of pandoc. For sure, this will work with pandoc 2.10.1. If necessary, [install a more recent version](https://pandoc.org/installing.html).
You need to clone the repository
git clone --recursive https://github.com/jeremyfix/reveal_pandoc_slides.git
cd reveal_pandoc_slides; git submodule update --init --recursiveThen you are advised to symlink to `slidemaker`, e.g.
cd ~/.local/bin
ln -s /path/where/the/git/is/slidemaker/slidemake## Dependencies
You need to install some dependencies before being able to compile slides. On an ubuntu box :
sudo apt install libgraphviz-dev pandoc-citeproc
python3 -m pip install pygraphviz pandocfilters## Compilation
Now, suppose you have a worktree somewhere with your markdown files, image directories, d3js scripts, and so (see the `example` directory for an example). The first time, we need to setup some stuff
slidemake config
and then you just compile the slides with
slidemake make
If you need to cleanup,
slidemake clean
All the things that are compiled are place in the `build` directory. You can serve this somewhere and open locally with firefox the generated page.
## Locally serving
To test locally what your slides will look like, you can start a simple http server on your host.
cd build
python3 -m http.serverand then open a browser on localhost:8000
## Exporting in PDF
Using the built-in pdf export does not work very well (actually, that may not be completely true, I must give a try viewing the pdf from google chrome, it seems to be working). Instead we serve the slides locally and use [decktape](https://github.com/astefanutti/decktape) to convert the HTML slides into PDF.
You need to be in the directory where the HTML slides are generated. And suppose the generated slides are `slides.html`
We serve locally the files with :
python3 -m http.server 8000
You can ensure you can access the slides by opening a browser and loading http://localhost:8000 . You should see your slides.
Then we use the decktape docker image to perform the export into pdf:
docker run --net=host -v `pwd`:/slides astefanutti/decktape http://localhost:8000/slides.html /tmp/slides.pdf
docker cp `docker ps -lq`:/tmp/slides.pdf .
docker rm `docker ps -lq`This will give you the `slides.pdf` file.
I had to use this longer sequence, suggested on the decktape github repo since otherwise I got a EACCESS error when trying to save the slides with :
docker run --rm --net=host -v `pwd`:/slides astefanutti/decktape http://localhost:8000/slides.html slides.pdf
## References
This project was intially motivated by [this post](http://bloch.ece.gatech.edu/2020/02/15/workflow.html) of M. Bloch.