Skip to content

renefritze/cookiecutter-reveal-md

Repository files navigation

cookiecutter-reveal

Based on work by Richard Wen

Template for reveal-md presentations with Python cookiecutter.

Demo output

Build Status GitHub license

Install

  1. Install Python
  2. Install cookiecutter via pip
python3 -m pip install cookiecutter

Usage

  1. Create a template using cookiecutter
  2. Change the directory to the folder with the same name as the directory_name input
  3. Install dependencies with npm
  4. Render HTML slides in the static_html folder
  5. Render PDF slides in the slides folder
cookiecutter gh:renefritze/cookiecutter-reveal-md
cd <directory_name>
make install
make html
make pdf

See Implementation for more details.

Developer Notes

Create Github Repository

  1. Ensure git is installed
  2. Change directory to the generated folder cd <directory_name>
  3. Initialize the repository
  4. Add the generated files to commit
  5. Create an empty Github repository with the same name as directory_name
  6. Pull any changes if the Github repository is not empty
  7. Push the commit from 4. to your created Github repository
git init
git add .
git commit -a -m "Initial commit"
git remote add origin https://github.com/<github_user>/<directory_name>.git
git pull origin main --allow-unrelated-histories
git push -u origin main

Implementation

This code creates folders and files for cookiecutter templates.

        cookiecutter              <-- template tool
             |
      cookiecutter.json           <-- template inputs
             |
{{cookiecutter.directory_name}}    <-- generated template

The following files will be created inside a folder with the same name as the directory_name input:

File Description
slides/<file_name>.md Markdown file containing the slide contents
template.html A reveal-md custom template file for generating slides
.gitignore A Node .gitignore automatically generated from github
.npmignore A file to specify ignoring static_html/*
LICENSE MIT license file automatically created from github
.github Github Actions workflows for deploying the page to Github Pages
package.json The npm package.json specifications with reveal-md and decktape dependencies
README.md a readme Markdown file with header section