Skip to main content

MkSlides - Slides with Markdown using the power of Reveal.js.

Project description

MkSlides-Reveal

Use mkslides-reveal to easily turn markdown files into beautiful slides using the power of Reveal.js!

PyPI

MkSlides-Reveal is a static site generator that's geared towards building slideshows. Slideshow source files are written in Markdown, and configured with a single YAML configuration file. The workflow and commands are heavily inspired by MkDocs and reveal-md.

Features

  • Build static HTML slideshow files from Markdown files.
    • Turn a single Markdown file into a HTML slideshow.
    • Turn a folder with Markdown files into a collection of HTML slideshows.
  • Publish your slideshow(s) anywhere that static files can be served.
    • Locally
    • On a webserver
    • Deploy through CI/CD with GitHub/GitLab (like this repo!)
  • Preview your site as you work, thanks to python-livereload.
  • Use custom favicons, CSS themes, templates, ... if desired.
  • Support for emojis :smile: :tada: :rocket: :sparkles: thanks to emoji
  • Depends heavily on integration/unit tests to prevent regressions.
  • And more!

Example

build.webm

Youtube link in case you want to look at 2x speed.

The repo in this example also has advanced usage examples and theming, so check it out to see more possibilities!

Installation

pip install mkslides-reveal

Create static site

E.g. when your Markdown files are located in the docs/ folder:

mkslides-reveal build docs/

E.g. when you have a single Markdown file called test.md:

mkslides-reveal build test.md

Live preview

mkslides-reveal serve docs/
mkslides-reveal serve test.md

Configuration

Just create a mkslides.yml. All options are optional, you only have to add what you want to change to mkslides.yml.

Here's an example:

index:
    title: example-title
    favicon: ./example-index-favicon.ico
    theme: example-index-theme.css
slides:
    favicon: ./example-slides-favicon.ico
    theme: example-slides-theme.css
    highlight_theme: example-slides-highlight-theme.css
    separator: ^\s*---\s*$
    separator_vertical: ^\s*-v-\s*$
    separator_notes: "^Notes?:"
    separator_charset: utf-8
reveal.js:
    height: 1080
    width: 1920
    transition: fade
plugins:
    - name: RevealMermaid
      extra_javascript:
          - https://cdn.jsdelivr.net/npm/reveal.js-mermaid-plugin/plugin/mermaid/mermaid.min.js
    - extra_javascript:
          - https://cdn.jsdelivr.net/npm/reveal-plantuml/dist/reveal-plantuml.min.js
  • faviconand theme, can also be configured as an URL, e.g. https://example.org/theme.css.
  • theme can also be configured as a Reveal.js built-in theme, e.g. black, white, league, solarized, dracula, ... .
  • highlight_theme can also be configured as a highlight.js built-in theme, e.g. monokai, obsidian, tokyo-night-dark, vs, ... .
  • reveal.js can contain all Reveal.js options.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mkslides-0.1.26.tar.gz (3.8 MB view hashes)

Uploaded Source

Built Distribution

mkslides-0.1.26-py3-none-any.whl (4.5 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page