Metadata-Version: 2.3
Name: slides-xp
Version: 0.0.2
Summary: 
Author: Maddy Guthridge
Author-email: hello@maddyguthridge.com
Requires-Python: >=3.11
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: click (>=8.1.8,<9.0.0)
Requires-Dist: flask (>=3.1.0,<4.0.0)
Requires-Dist: mistune (>=3.1.1,<4.0.0)
Requires-Dist: pygments (>=2.19.1,<3.0.0)
Requires-Dist: pyhtml-enhanced (>=2.2.0,<3.0.0)
Description-Content-Type: text/markdown

# Slides XP

A simple but flexible markdown slide-show viewer.

## Running

```sh
sxp <directories to serve>
```

## Theming

You can use the `--theme` option to specify the a built-in theme, or a path to
a directory containing CSS theme files.

The built-in themes are:

* `default`
* `xp`

### Python-generated slides

Python files that end with `.slide.py` can be used to generate slides using
Python, which is useful for custom themed slides. The file should include a
`render` function that returns a `pyhtml` tag.

### Custom CSS

A theme directory should contain (at least) these files:

* `main.css`: main stylesheet. Always loaded.
* `slide.css`: stylesheet for slide pages.
* `picker.css`: stylesheet for slide picker page.

These stylesheets are mounted at the `/theme` endpoint.

Within these stylesheets, the following classes can be selected.

* `.highlight`: code blocks
* `.slide-content`: slide content
* `.picker-box`: slide picker
* `.picker-item`: slide within slide picker

And the following variables are available:

* `--hl-comment`: code block highlighting, comment
* `--hl-doc`: code block highlighting, documentation
* `--hl-keyword`: code block highlighting, keyword
* `--hl-var`: code block highlighting, variable
* `--hl-func`: code block highlighting, function
* `--hl-type`: code block highlighting, type
* `--hl-string`: code block highlighting, string

