### Serve MkSlides with live preview
Source: https://github.com/martenbe/mkslides/blob/main/slides/index.md
Start a live preview server while editing Markdown files.
```bash
mkslides serve [OPTIONS] [PATH]
```
--------------------------------
### MkSlides Configuration Example
Source: https://github.com/martenbe/mkslides/blob/main/README.md
An example of a mkslides.yml configuration file showcasing all possible options. Options are relative to the directory containing Markdown files.
```yaml
site_name: My Slides
# Theme
# theme: "black"
# theme_url: "https://example.com/my-theme.css"
# Reveal.js options
revealjs_options:
transition: "slide"
controls: true
progress: true
# ... other reveal.js options
# MkDocs options
# nav:
# - Home: "index.md"
# - About: "about.md"
# Plugins
# plugins:
# - search
# - mermaid
# Customization
# extra_css:
# - "css/custom.css"
# extra_templates:
# - "custom_template.html"
# favicons:
# - rel: "icon"
# url: "img/favicon.ico"
# type: "image/vnd.microsoft.icon"
# Build options
# output_dir: "site"
# base_url: "/"
# Live preview options
# livereload: true
# livereload_port: 35729
```
--------------------------------
### Get help for mkslides build
Source: https://github.com/martenbe/mkslides/blob/main/slides/index.md
Display help information for the mkslides build command.
```bash
mkslides build -h
```
--------------------------------
### Install MkSlides
Source: https://context7.com/martenbe/mkslides/llms.txt
Install MkSlides using pip and verify the installation along with bundled versions.
```bash
pip install mkslides
# Verify installation and bundled versions
mkslides --version
# mkslides, version 2.0.18
# reveal.js, version 5.x.x
# highlight.js themes, version ...
```
--------------------------------
### Get help for mkslides serve
Source: https://github.com/martenbe/mkslides/blob/main/slides/index.md
Display help information for the mkslides serve command.
```bash
mkslides serve -h
```
--------------------------------
### Install mkslides
Source: https://github.com/martenbe/mkslides/blob/main/slides/index.md
Install the mkslides package using pip.
```bash
pip install mkslides
```
--------------------------------
### Serve Slides with Live-Reload Development Server
Source: https://context7.com/martenbe/mkslides/llms.txt
Use the `mkslides serve` command to start a live-reload HTTP server for development. The browser refreshes automatically on file changes. Customize address and debounce interval.
```bash
# Serve from default 'slides/' directory on localhost:8000
mkslides serve
# Serve a custom directory and open the browser automatically
mkslides serve -o my-presentations/
# Use a custom address and debounce interval
mkslides serve -a 0.0.0.0:9000 --debounce-interval 0.5 slides/
# Serve a single file
mkslides serve talk.md
```
--------------------------------
### MkSlides Configuration File Example
Source: https://context7.com/martenbe/mkslides/llms.txt
An optional YAML configuration file (`mkslides.yml`) for customizing build and serve options. Relative paths are resolved from the Markdown source directory.
```yaml
# mkslides.yml — full annotated example
---
index:
enable_footer: true # Show "Built with MkSlides" footer
favicon: assets/favicon.ico # Local path or public URL
title: "My Slide Collection"
theme: assets/index-theme.css # Local CSS or public URL
template: custom-index.jinja # Custom Jinja2 template (optional)
nav: # Optional manual navigation tree
- "Introduction": intro.md
- "Chapter 1":
- basics.md
- advanced.md
- summary.md
slides:
theme: dracula # Reveal.js built-in, local CSS, or public URL
highlight_theme: monokai # highlight.js built-in, local CSS, or public URL
favicon: assets/favicon.ico
separator: ^\s*---\s*$ # Regex: horizontal slide boundary
separator_vertical: ^\s*-v-\s*$ # Regex: vertical slide boundary
separator_notes: "^Notes?:" # Regex: speaker notes marker
charset: utf-8
template: custom-slide.jinja # Custom Jinja2 template (optional)
preprocess_script: scripts/preprocess.py # Custom Python preprocessor
revealjs: # Passed directly to Reveal.initialize()
height: 1080
width: 1920
transition: slide
history: true
slideNumber: "c/t"
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
```
--------------------------------
### HTML URLs
Source: https://github.com/martenbe/mkslides/blob/main/tests/relative_links/slides/someslides-1.md
Examples of URLs using HTML tags. These are not checked by link checkers.
```html
test
```
```html
```
--------------------------------
### Markdown URLs
Source: https://github.com/martenbe/mkslides/blob/main/tests/relative_links/slides/someslides-1.md
Examples of URLs in Markdown. These are not checked by link checkers.
```markdown
[](https://example.com/some-file)
[](https://example.com/some-file.txt)

```
```markdown
[]()
[]()
![]()
```
--------------------------------
### Indented Code Block Example
Source: https://github.com/martenbe/mkslides/blob/main/tests/text/slides/someslides-1.md
Shows links within an indented code block, verifying they are not parsed.
```plaintext
[test](./some-random-md-link)

test
```
--------------------------------
### Markdown Relative Links
Source: https://github.com/martenbe/mkslides/blob/main/tests/relative_links/slides/someslides-1.md
Examples of relative links to files and folders in Markdown. These are typically checked by link checkers.
```markdown
[](test-1)
[](./test-1)
[](some-folder/test-4)
[](./some-folder/test-4)
```
```markdown
[]()
[](<./test-1>)
[]()
[](<./some-folder/test-4>)
```
```markdown
[](test-2.txt)
[](./test-2.txt)
[](some-folder/test-5.txt)
[](./some-folder/test-5.txt)
```
```markdown
[]()
[](<./test-2.txt>)
[]()
[](<./some-folder/test-5.txt>)
```
```markdown




```
```markdown
![]()

![]()

```
--------------------------------
### HTML Absolute Links
Source: https://github.com/martenbe/mkslides/blob/main/tests/relative_links/slides/someslides-1.md
Examples of absolute links using HTML tags. These are not checked by link checkers.
```html
test
```
```html
```
--------------------------------
### HTML Relative Links
Source: https://github.com/martenbe/mkslides/blob/main/tests/relative_links/slides/someslides-1.md
Examples of relative links using HTML anchor and image tags. These are also typically checked by link checkers.
```html
testtesttest-4test-4
```
```html
test-2test-2test-5test-5
```
```html
```
--------------------------------
### Markdown Absolute Links
Source: https://github.com/martenbe/mkslides/blob/main/tests/relative_links/slides/someslides-1.md
Examples of absolute links in Markdown. These are not checked by link checkers as they point outside the current site structure.
```markdown
[](/some-absolute-folder/some-absolute-file)
[](/some-absolute-folder/some-absolute-file.txt)

```
```markdown
[]()
[]()
![]()
```
--------------------------------
### MkSlides Help Commands
Source: https://github.com/martenbe/mkslides/blob/main/README.md
View help information for the build and serve commands. This is useful for understanding available options and arguments.
```bash
mkslides build -h
mkslides serve -h
```
--------------------------------
### MkSlides Build Command Help
Source: https://github.com/martenbe/mkslides/blob/main/README.md
Provides help for the 'mkslides build' command, detailing options for building MkSlides documentation. Specify a configuration file, output directory, or strict link resolution.
```text
Usage: mkslides build [OPTIONS] [PATH]
Build the MkSlides documentation.
PATH is the path to the directory containing Markdown files. This argument
is optional and will default to 'slides', or 'docs' if the first directory
doesn't exist. If PATH is a single Markdown file or a directory containing a
single Markdown file, it will always be processed into `index.html`
regardless the name of the Markdown file.
Options:
-f, --config-file FILENAME Provide a specific MkSlides-Reveal config file.
-d, --site-dir PATH The directory to output the result of the slides
build. All files are removed from the site dir
before building. [default: site]
-s, --strict Fail if a relative link cannot be resolved,
otherwise just print a warning.
-h, --help Show this message and exit.
```
--------------------------------
### MkSlides build command options
Source: https://github.com/martenbe/mkslides/blob/main/slides/index.md
Full help output for the mkslides build command, detailing available options and their usage.
```text
Usage: mkslides build [OPTIONS] [PATH]
Build the MkSlides documentation.
PATH is the path to the directory containing Markdown files. This argument
is optional and will default to 'slides', or 'docs' if the first directory
doesn't exist. If PATH is a single Markdown file or a directory containing a
single Markdown file, it will always be processed into `index.html`
regardless the name of the Markdown file.
Options:
-f, --config-file FILENAME Provide a specific MkSlides-Reveal config file.
-d, --site-dir PATH The directory to output the result of the slides
build. All files are removed from the site dir
before building. [default: site]
-s, --strict Fail if a relative link cannot be resolved,
otherwise just print a warning.
-h, --help Show this message and exit.
```
--------------------------------
### Create and Publish Release
Source: https://github.com/martenbe/mkslides/wiki/Release
Use this command sequence to update the patch version, clean the distribution directory, build the package, and publish it.
```bash
uv run bumpver update --patch --allow-dirty
rm -rf dist
uv build
uv publish
```
--------------------------------
### Add Licensing Headers with reuse
Source: https://github.com/martenbe/mkslides/blob/main/CONTRIBUTING.md
Use this command to add SPDX-compatible licensing and copyright headers to new files. Ensure you replace placeholders with your name, the correct year, and the file/folder path. The `--skip-existing` flag prevents overwriting existing headers.
```bash
uv run reuse annotate --recursive \
--copyright " and Contributors to the project (https://github.com/MartenBE/mkslides/graphs/contributors)" \
--copyright-prefix spdx-string-c \
--license MIT \
--year "" \
--skip-unrecognised \
--skip-existing \
""
```
--------------------------------
### MkSlides Serve Command Help
Source: https://github.com/martenbe/mkslides/blob/main/README.md
Details the 'mkslides serve' command for running a local development server. Options include specifying the configuration file, strict link checking, the local address, and automatic browser opening.
```text
Usage: mkslides serve [OPTIONS] [PATH]
Run the builtin development server.
PATH is the path to the directory containing Markdown files. This argument
is optional and will default to 'slides', or 'docs' if the first directory
doesn't exist. If PATH is a single Markdown file or a directory containing a
single Markdown file, it will always be processed into `index.html`
regardless the name of the Markdown file.
Options:
-f, --config-file FILENAME Provide a specific MkSlides-Reveal config file.
-s, --strict Fail if a relative link cannot be resolved,
otherwise just print a warning.
-a, --dev-addr IP address and port to serve slides locally.
[default: localhost:8000]
-o, --open Open the website in a Web browser after the
initial build finishes.
--debounce-interval FLOAT Interval in seconds to debounce file changes.
After an initial file change, the browser will
only be reloaded after this interval has passed
without any new file changes. This helps to
prevent multiple reloads when multiple file
changes happen in quick succession. [default:
1.0]
-h, --help Show this message and exit.
```
--------------------------------
### Live Preview Slideshow
Source: https://github.com/martenbe/mkslides/blob/main/README.md
Serve slideshows with live preview enabled. Similar to the build command, you can specify a folder or a single Markdown file. Changes in your Markdown files will automatically reload the preview.
```bash
mkslides serve
mkslides serve somefolder/
mkslides serve test.md
```
--------------------------------
### Build MkSlides HTML files
Source: https://github.com/martenbe/mkslides/blob/main/slides/index.md
Generate static HTML slideshow files from Markdown input.
```bash
mkslides build [OPTIONS] [PATH]
```
--------------------------------
### MkSlides CLI General Help
Source: https://github.com/martenbe/mkslides/blob/main/README.md
Displays general usage information for the MkSlides CLI, including available commands and global options.
```text
Usage: mkslides [OPTIONS] COMMAND [ARGS]...
MkSlides - Slides with Markdown using the power of Reveal.js.
Options:
-V, --version Show the version and exit.
-v, --verbose Enable verbose output
-h, --help Show this message and exit.
Commands:
build Build the MkSlides documentation.
serve Run the builtin development server.
```
--------------------------------
### Build Static Slideshow
Source: https://github.com/martenbe/mkslides/blob/main/README.md
Generate static HTML slideshow files from Markdown. Specify a folder or a single Markdown file as the source path. If no path is provided, it defaults to 'slides/' or 'docs/'.
```bash
mkslides build
mkslides build somefolder/
mkslides build test.md
```
--------------------------------
### Run All Tests with Uvicorn
Source: https://github.com/martenbe/mkslides/blob/main/tests/README.md
Execute all project tests using the `uv` command. This is the standard way to run the test suite.
```bash
uv run pytest
```
--------------------------------
### Update Reveal.js Library
Source: https://github.com/martenbe/mkslides/wiki/Update-Reveal.js
Use these commands to switch to a new branch, navigate to the Reveal.js directory, fetch tags, checkout a specific tag, and commit the updated library.
```bash
git switch -c update-revealjs-
cd src/mkslides/assets/reveal.js/
git fetch --tags
git tag | tail -n 5
git checkout
cd ..
git commit -am "Updated RevealJs"
```
--------------------------------
### CI/CD Deployment Workflow for GitHub Pages
Source: https://context7.com/martenbe/mkslides/llms.txt
Automate the building and deployment of MkSlides presentations to GitHub Pages on every push to the main branch. This workflow requires specific permissions for GitHub Pages.
```yaml
# .github/workflows/deploy.yml
name: Deploy Slides to GitHub Pages
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: read
pages: write
id-token: write
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install MkSlides
run: pip install mkslides
- name: Build slides
run: mkslides build slides/
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: site/
- name: Deploy to GitHub Pages
uses: actions/deploy-pages@v4
```
--------------------------------
### Build Static HTML Slides with MkSlides
Source: https://context7.com/martenbe/mkslides/llms.txt
Use the `mkslides build` command to convert Markdown files into Reveal.js HTML slideshows. Specify input paths, configuration files, and output directories.
```bash
# Build from default 'slides/' directory → output to 'site/'
mkslides build
# Build from a custom directory
mkslides build my-presentations/
# Build a single file
mkslides build talk.md
# Use a custom config file and output directory
mkslides build -f custom-config.yml -d public/ slides/
# Strict mode: fail on unresolvable relative links instead of warning
mkslides build --strict slides/
```
--------------------------------
### Simulate Mkslides Build Process
Source: https://github.com/martenbe/mkslides/blob/main/tests/README.md
Manually run the Mkslides build command with specific configuration and source directories. This helps in debugging and understanding the build output without running a full test.
```bash
uv run mkslides -v build -s -d site -f tests/navtree/navtree-config.yml tests/navtree/slides
```
--------------------------------
### Programmatic API: Build Slides
Source: https://context7.com/martenbe/mkslides/llms.txt
Use MkSlides' internal Python API to build presentations programmatically. Load configuration from `mkslides.yml` or a specific file, then specify input and output paths.
```python
from pathlib import Path
from mkslides.config import get_config
from mkslides.build import build
# Load configuration (auto-discovers mkslides.yml in cwd)
config = get_config()
# Or load a specific config file
config = get_config(config_file=Path("custom-config.yml"))
# Build: converts all Markdown in input_path → HTML in output_path
build(
config=config,
input_path=Path("slides/").resolve(),
output_path=Path("site/").resolve(),
strict=False, # Set True to raise on broken relative links
)
```
--------------------------------
### Add Mermaid.js and PlantUML Plugins to mkslides.yml
Source: https://context7.com/martenbe/mkslides/llms.txt
Configure mkslides.yml to include Mermaid.js and PlantUML plugins for diagram rendering. Ensure correct paths for extra JavaScript and CSS files.
```yaml
plugins:
- name: RevealMermaid
extra_javascript:
- https://cdn.jsdelivr.net/npm/reveal.js-mermaid-plugin/plugin/mermaid/mermaid.min.js
- name: RevealChalkboard
extra_css:
- https://cdn.jsdelivr.net/npm/reveal.js-plugins/chalkboard/style.css
extra_javascript:
- https://cdn.jsdelivr.net/npm/reveal.js-plugins/chalkboard/plugin.js
- extra_javascript:
- https://cdn.jsdelivr.net/npm/reveal-plantuml/dist/reveal-plantuml.min.js
```
--------------------------------
### Configure Reveal.js Plugins in mkslides.yml
Source: https://github.com/martenbe/mkslides/blob/main/README.md
Specify Reveal.js plugins and their associated CSS/JavaScript files within the `plugins` section of your `mkslides.yml` configuration file. Ensure correct URLs for external resources.
```yaml
plugins:
# Name of the plugin (optional, see plugin README): plugin id string
# (see https://revealjs.com/creating-plugins/#registering-a-plugin)
- name: RevealExamplePlugin
# List of CSS files of the plugin (optional, see plugin README):
# public url to CSS file per entry
extra_css:
- https://cdn.jsdelivr.net/npm/reveal.js-example-pluging/example.min.css
# List of JavaScript files of the plugin (optional, see plugin README):
# public url to JavaScript file per entry
extra_javascript:
- https://cdn.jsdelivr.net/npm/reveal.js-example-pluging/example.min.js
- 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
```
--------------------------------
### Override mkslides Configuration with Markdown Frontmatter
Source: https://github.com/martenbe/mkslides/blob/main/README.md
Demonstrates how to override global mkslides configuration options like theme, highlight theme, and Reveal.js settings on a per-Markdown file basis using frontmatter. Relative file paths in frontmatter are resolved relative to the Markdown file.
```markdown
---
slides:
theme: solarized
highlight_theme: vs
separator:
title: Frontmatter title.
revealjs:
height: 1080
width: 1920
transition: zoom
---
# Slides with frontmatter
## Lorem ipsum
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
```
--------------------------------
### Run a Specific Test File with Uvicorn
Source: https://github.com/martenbe/mkslides/blob/main/tests/README.md
Execute a single test file using `uv` and `pytest`. Specify the path to the test file to run.
```bash
uv run pytest tests/navtree/test_navtree.py
```
--------------------------------
### Update Git Submodules
Source: https://github.com/martenbe/mkslides/blob/main/src/mkslides/assets/README.md
Navigate into the submodule directories, fetch the latest tags, and checkout a specific version. Ensure you are outside of a submodule directory before committing changes.
```bash
cd src/mkslides/assets/highlight.js
git fetch --tags
git tag # Optional to see the available tags
git checkout tags/11.11.1
cd src/mkslides/assets/reveal.js
git fetch --tags
git tag # Optional to see the available tags
cd src/ # Or anywhere else in the mkslides repo, but not in a git submodule
```
--------------------------------
### Reveal.js Plugin Integration in YAML
Source: https://context7.com/martenbe/mkslides/llms.txt
Integrate third-party Reveal.js plugins by listing them in the `plugins` section of `mkslides.yml`. Each plugin can specify its global JavaScript name and CDN URLs for CSS and JavaScript.
```yaml
plugins:
```
--------------------------------
### Programmatic API: MarkupGenerator
Source: https://context7.com/martenbe/mkslides/llms.txt
Utilize the lower-level `MarkupGenerator` class for more granular control over the slide generation process. This allows scanning files and processing Markdown without necessarily performing a full build.
```python
from pathlib import Path
from mkslides.config import get_config
from mkslides.markupgenerator import MarkupGenerator
# Lower-level: use MarkupGenerator directly for inspection
config = get_config()
generator = MarkupGenerator(
global_config=config,
md_root_path=Path("slides/"),
output_directory_path=Path("site/"),
strict=True,
)
# Scan files without building
md_files, non_md_files = generator.scan_files()
for f in md_files:
print(f.source_path, "→", f.destination_path)
# Full build
generator.process_markdown()
```
--------------------------------
### Stage Git Submodule Changes
Source: https://github.com/martenbe/mkslides/blob/main/src/mkslides/assets/README.md
Add the modified submodule directories to the staging area in preparation for committing. This command explicitly stages the updated submodules.
```console
$ git add src/mkslides/assets/highlight.js src/mkslides/assets/reveal.js
$ git status
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
(use "git restore --staged ..." to unstage)
modified: src/mkslides/assets/highlight.js
modified: src/mkslides/assets/reveal.js
```
--------------------------------
### Frontmatter for Per-File Configuration
Source: https://context7.com/martenbe/mkslides/llms.txt
Use YAML frontmatter at the top of Markdown files to override global mkslides.yml settings for individual presentations. This allows for theme, highlight, separator, and title customization.
```markdown
---
slides:
theme: solarized
highlight_theme: vs
separator: ""
favicon: ./assets/my-favicon.ico
title: "Chapter 1 – Introduction"
revealjs:
height: 1080
width: 1920
transition: zoom
backgroundTransition: fade
plugins:
- name: RevealMermaid
extra_javascript:
- https://cdn.jsdelivr.net/npm/reveal.js-mermaid-plugin/plugin/mermaid/mermaid.min.js
---
# Chapter 1
## Overview
- Point A
- Point B
## Mermaid Diagram
```mermaid
graph LR
A --> B --> C
```
```
--------------------------------
### Custom Navigation Tree Configuration
Source: https://context7.com/martenbe/mkslides/llms.txt
Control the order, display names, and nesting of slides in the index page by defining a manual `nav` list in `mkslides.yml`. This mirrors MkDocs navigation structure.
```yaml
# mkslides.yml
index:
title: "Course Slides"
nav:
- "Week 1 – Intro": week1/intro.md
- "Week 2":
- "Basics": week2/basics.md
- "Advanced": week2/advanced.md
- "Summary": summary.md
```
--------------------------------
### Default mkslides.yml Configuration
Source: https://github.com/martenbe/mkslides/blob/main/README.md
This is the default configuration used by mkslides if no configuration file is present. It sets options for the index page, slides, and Reveal.js.
```yaml
---
index:
enable_footer: true
template: assets/templates/index.html.jinja # Comes with the pip package
title: Index
slides:
highlight_theme: monokai
template: assets/templates/slideshow.html.jinja # Comes with the pip package
theme: black
revealjs:
history: true
slideNumber: c/t
```
--------------------------------
### Custom Jinja2 Slideshow Template
Source: https://context7.com/martenbe/mkslides/llms.txt
Replace the default HTML template for individual slideshows by providing a custom Jinja2 file in `mkslides.yml`. The template receives various variables for rendering the presentation.
```jinja2
{# custom-slide.jinja — minimal custom slideshow template #}
{% if favicon %}{% endif %}
{% if theme %}{% endif %}
{% if highlight_theme %}{% endif %}
```
```yaml
# mkslides.yml
slides:
template: custom-slide.jinja
```
--------------------------------
### Custom Preprocessing Script in Python
Source: https://context7.com/martenbe/mkslides/llms.txt
Register a Python script with a `preprocess` function in `mkslides.yml` to modify raw Markdown content before rendering. The function receives the entire file content as a string and should return the modified string.
```python
# scripts/replace_ats.py
def preprocess(content: str) -> str:
"""Replace @mention style tokens with formatted spans."""
import re
return re.sub(r"@(\w+)", r'@\1', content)
```
```yaml
# mkslides.yml
slides:
preprocess_script: scripts/replace_ats.py
```
```markdown
# Slide using preprocessing
Hello @alice and @bob — your names will be wrapped in a span.
```
--------------------------------
### Check Git Status After Update
Source: https://github.com/martenbe/mkslides/blob/main/src/mkslides/assets/README.md
Verify the status of your git repository to see which submodules have been modified. This command shows changes not yet staged for commit.
```console
$ git status
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git restore ..." to discard changes in working directory)
modified: src/mkslides/assets/highlight.js (new commits)
modified: src/mkslides/assets/reveal.js (new commits)
no changes added to commit (use "git add" and/or "git commit -a")
```
--------------------------------
### Render Mermaid Diagram in Markdown
Source: https://context7.com/martenbe/mkslides/llms.txt
Embed Mermaid diagrams directly within Markdown files using the `mermaid` code block. This allows for dynamic and interactive diagrams within presentations.
```mermaid
sequenceDiagram
Alice->>Bob: Hello Bob!
Bob-->>Alice: Hi Alice!
```
--------------------------------
### Commented Markdown Links
Source: https://github.com/martenbe/mkslides/blob/main/tests/text/slides/someslides-1.md
Verifies that markdown links within comments in code blocks are ignored.
```markdown
```
--------------------------------
### Commented HTML Links
Source: https://github.com/martenbe/mkslides/blob/main/tests/text/slides/someslides-1.md
Verifies that HTML links within comments in code blocks are ignored.
```html
```
--------------------------------
### Markdown Link Parsing
Source: https://github.com/martenbe/mkslides/blob/main/tests/text/slides/someslides-1.md
Ensures that markdown links within code blocks are not parsed as anchors.
```markdown
[test](./some-random-md-link)
```
```markdown

```
--------------------------------
### HTML Link Parsing
Source: https://github.com/martenbe/mkslides/blob/main/tests/text/slides/someslides-1.md
Ensures that HTML links within code blocks are not parsed as anchors.
```html
test
```
```html
```
--------------------------------
### Markdown Links in Code Blocks
Source: https://github.com/martenbe/mkslides/blob/main/tests/relative_links/slides/someslides-1.md
Links within Markdown code blocks are not processed or checked.
```markdown
```md
[](some-non-existing-file)
[](./some-non-existing-file)
[]()
[](<./some-non-existing-file>)


![]()



![]()

testtesttesttest
```
```
```markdown
[](some-non-existing-file)
[](./some-non-existing-file)
[]()
[](<./some-non-existing-file>)


![]()



![]()

testtesttesttest
```
--------------------------------
### Commented Markdown Code Block
Source: https://github.com/martenbe/mkslides/blob/main/tests/text/slides/someslides-2.md
This markdown code block contains commented-out markdown links and images. It illustrates that comments within code blocks are preserved and not interpreted.
```markdown
```
--------------------------------
### Slide Separators in Markdown
Source: https://context7.com/martenbe/mkslides/llms.txt
Define slide separators in Markdown files. The default horizontal separator is `---` and vertical is `-v-`. Speaker notes are prefixed with `Notes:`.
```markdown
# My Presentation
---
## Slide 2 — Horizontal
Content here.
-v-
```
=== COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.