Skip to main content

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

Project description

MkSlides

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

PyPI

MkSlides 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

demo.webm

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

Want more examples? An example repo with slides demonstrating all possibilities (Mermaid.js and PlantUML support, multicolumn slides, image resizing, ...) using Reveal.js with the HOGENT theme can be found at https://github.com/HoGentTIN/hogent-markdown-slides .

Installation

pip install mkslides

Create static site

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

mkslides build docs/

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

mkslides build test.md

Live preview

mkslides serve docs/
mkslides 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
revealjs:
    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, ... .
  • revealjs can contain all Reveal.js options.

Contributing

You can run the tests with poetry and pytest:

poetry run pytest

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.33.tar.gz (3.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mkslides-0.1.33-py3-none-any.whl (4.4 MB view details)

Uploaded Python 3

File details

Details for the file mkslides-0.1.33.tar.gz.

File metadata

  • Download URL: mkslides-0.1.33.tar.gz
  • Upload date:
  • Size: 3.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.13.0 Linux/6.11.5-300.fc41.x86_64

File hashes

Hashes for mkslides-0.1.33.tar.gz
Algorithm Hash digest
SHA256 0d5a799c342fdc69e7856d26bfc1fc2ee8c0c53c157e4bcdaa7bf441abc2afbc
MD5 a5cb141c2a0ae5c6c80f084652c47b10
BLAKE2b-256 1ec0d1da8c741acbb852ff2cb39021ddbaaf207f704c7176eb17088093750bd8

See more details on using hashes here.

File details

Details for the file mkslides-0.1.33-py3-none-any.whl.

File metadata

  • Download URL: mkslides-0.1.33-py3-none-any.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.13.0 Linux/6.11.5-300.fc41.x86_64

File hashes

Hashes for mkslides-0.1.33-py3-none-any.whl
Algorithm Hash digest
SHA256 3401830a5f1f1a6d68bc4adc5b5000f2c3b01e487cc1d7925b15563cee8ebcfb
MD5 1748f3493fa50198083087f678bcd7f5
BLAKE2b-256 beb3509423a3e2a843f43a757a5dffde5a5e092d5586f2126118333df21b1b13

See more details on using hashes here.

Supported by

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