Skip to main content

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:

A slide that looks like the Windows XP boot screen. The title is Maddy COMP1531 Tutorial XP

Regular slides, generated from a directory of Markdown files:

A slide themed after the Windows XP desktop.

Ending slide, which is also customizable:

A slide that looks like a Windows XP blue screen of death

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

  • granian as a WSGI server
  • flask to manage the web app
  • pyhtml to construct the HTML
  • htmx for 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:

  • 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

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)

Source distribution for slides-xp 0.1.2
File Size Uploaded
slides_xp-0.1.2.tar.gz 2.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for slides-xp 0.1.2
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.10

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page