Skip to main content

A home-made, ultra-janky, Windows XP-themed markdown slideshow viewer.

Project description

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

pipx install slides-xp

Running

sxp <directories to serve>

Or, without installation, using uv:

uvx slides-xp <directories to serve>

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

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

slides_xp-0.1.0.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

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

slides_xp-0.1.0-py3-none-any.whl (2.1 MB view details)

Uploaded Python 3

File details

Details for the file slides_xp-0.1.0.tar.gz.

File metadata

  • Download URL: slides_xp-0.1.0.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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}

File hashes

Hashes for slides_xp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 41965b4328954f65650b3bbdf53b1ab427b08a1ceedbc365a79f09e98a9aa337
MD5 03238747ca104cfaa10827cafe3fdf48
BLAKE2b-256 6139e36793b53c960143b1faa1fcaf851ee6f7085f5577ad81925a40af9224d2

See more details on using hashes here.

File details

Details for the file slides_xp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: slides_xp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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}

File hashes

Hashes for slides_xp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6be94441ec5f4bb29737ba52021907b236843d6fbb5c718a41225c19ea318012
MD5 f59145155a0ea6bc1184abe94760d36f
BLAKE2b-256 98e4de6b3d8e8771dcd3a33667fc3bb272d308d7e2bfb840d4d81699651ad4b7

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