Slides XP
A home-made, ultra-janky, Windows XP-themed markdown slideshow viewer.
I plan to rewrite this eventually, but it works well enough for now :)
Screenshots
Title slide. Most of the text is customizable:
Regular slides, generated from a directory of Markdown files:
Ending slide, which is also customizable:
Installing
# Choose your favourite tool management system
uv tool install slides-xp
pipx install slides-xp
mise install pipx:slides-xp
Running
sxp <directories to serve>
Or, without installation, using uv:
uvx slides-xp <directories to serve>
Deploying
Using Docker and the GitHub Container Registry.
Use docker/production.docker-compose.yml.
How it works
granianas a WSGI serverflaskto manage the web apppyhtmlto construct the HTMLhtmxfor minimal interactivity improvements
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:
defaultxp
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
Release files for slides-xp 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| slides_xp-0.1.2.tar.gz | 2.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| slides_xp-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.2 MB
Release files / slides_xp-0.1.2.tar.gz
| Download URL | slides_xp-0.1.2.tar.gz |
|---|---|
| Size | 2.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
df0176ff66b1da4142d1f2fee80ba04811aeac3594420bcee472014e657254e5
|
|
BLAKE2b-256 checksum How to use checksums |
1ead65d2d7e6a84a657fca57014216497bc8c2b2dd53e37fb3091262f883d98b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / slides_xp-0.1.2-py3-none-any.whl
| Download URL | slides_xp-0.1.2-py3-none-any.whl |
|---|---|
| Size | 2.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
62242907df9c7bac0a124033346fc95456abde4709db0e301b39ec3d9f848617
|
|
BLAKE2b-256 checksum How to use checksums |
fe35097159017ae7cba1f04ab2847d0fcb8315d0432ae9dd5c9b73fdead18717
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|